0

ボディロード時に起動する必要があるいくつかのjavascriptを含むiframeがありますが、iframeはプレーンHTMLページに埋め込まれたときに正常に動作し、ブロガーのHTML / javascriptウィジェットに統合されたときにiframeのjavascriptが機能しません..suggestions.Firefox bcでのみ試しましたウイルスとツールバーが IE を食べた?

iframe ページ

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title> 
     <script language="javascript" type="text/javascript">
       function change() {
           var text = "someaddress";
           window.location = "http://something.com/fb2.aspx" + "?url=" + text;
       }
   </script>
</head>
<body bgcolor="#333333" onload="change()">
</body>
</html>

Blogger ブログの HTML/javascript ウィジェットのコード

<iframe scrolling="no" src="http://something.com/fb.htm" width="200" height="70" 
frameborder="0" name="myInlineFrame"></iframe>

そして、このプレーンな HTML ページに埋め込まれた同じ iframe は、必要に応じて JavaScript を実行します

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Test Stats page</title>
</head>
<body>
<iframe src="fb.htm" runat="server" id="iframe1" width="500" height="500"></iframe>

</body>
</html>
4

1 に答える 1

1

バックグラウンドで、Blogger ウィジェット/ガジェット システムは、JavaScript の実行を妨げるコードを DOM に追加する方法を使用しているようです。多くの場合、これは、コンテンツが .innerHTML オブジェクトに追加された場合に発生する可能性があります。DOM 要素はレンダリングされますが、含まれている JavaScript は実行されません。

これはブロガーの問題であるため、この問題の回避策はこの質問の範囲外です。

解決策は、Blogger テンプレートを直接編集し、IFRAME をテンプレート自体に表示したい場所に貼り付けることです。つまり、ウィジェットを使用しないでください。

以下は、終了 body 要素の直前に iframe を含む、私自身の Blogger テンプレートの一部です。

   </div>
  </div>
 </div>

 <script type='text/javascript'>
  window.setTimeout(function() {
     document.body.className = document.body.className.replace(&#39;loading&#39;, &#39;&#39;);
   }, 10);
  </script>

  <!-- Iframe in template -->
  <iframe scrolling="no" src="http://somedomain.com/fb.htm" width="200" height="70" 
     frameborder="0" name="myInlineFrame"></iframe>
  <!-- Iframe in template -->

</body>

  <macro:includable id='sections' var='col'>
   <macro:if cond='data:col.num == 0'>
   <macro:else/>
于 2011-01-06T01:31:21.360 に答える