0

理由はわかりませんが、コードが機能していません...

問題: iframe のサイズが変更されません。

私は解決策を求めてウェブを精査しましたが、別のドメインに同じコードがあり、動作しています...


コード:

<html>

<head>

<base target="_self">
<title>Montana Code Annotated - State Law</title>
<meta name="title" content="">
<meta name="description" content="">
<meta name="keywords" content="">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<script type="text/javascript">
<!--
function resizeIframe(id){
/*
this.obj=obj
//this.obj.width=null
//this.obj.width=window.frames['sizeframe'].document.body.scrollWidth
this.obj.style.height='' // for Firefox and Opera
setTimeout('this.obj.style.height=this.obj.contentWindow.document.body.scrollHeight+(notIE?heightOffset:0)',10) // setTimeout required for Opera
*/

el=document.getElementById(id)
el.style.height="200px" // for Firefox and Opera
setTimeout("el.style.height=el.contentWindow.document.body.scrollHeight+'px'",1) // setTimeout required for Opera
}

// -->
</script>

</head>

<body topmargin="0" bottommargin="0"><div align="center">


<p><br>
&nbsp;</p>
<p>
<iframe name="windowoflaw" id="sizeframe" allowTransparency="true" onload="resizeIframe(this.id)" marginwidth="1" marginheight="1" height="200" width="800" scrolling="no" align="center" border="0" frameborder="0" src="http://leg.mt.gov/bills/mca_toc/">
</iframe></p>
</div>

</body>

</html>

-------------- ドメイン: montanacodeannotated.com

4

2 に答える 2

1

これは、フレームのオリジンが異なるため、フレーム内のコンテンツにアクセスできないためです。インスペクターに次のようなメッセージが表示されます。

Uncaught SecurityError: Blocked a frame with origin "http://montanacodeannotated.com" from accessing a frame with origin "http://leg.mt.gov". Protocols, domains, and ports must match.

おそらく、サイトのミラー バージョンをプルダウンできますか? 実行wget -r http://leg.mt.gov/bills/mca_toc/すると、独自のドメインに配置できるバージョンが再帰的にコピーされます (もちろん、最初に元のサイトに問い合わせる必要があるかもしれません!)。

それが同じドメインでホストされると、上記のコードが機能すると思います。

于 2013-11-06T18:14:53.473 に答える