(2012.02.06)更新
- .createElement() した div を .inertBefore() しないで、直接 div.innerHTML = "<iframe ..." して iframe を DOM Tree へ .insertBefore()
※ IE6 だとうまくいかなかったような気がするけれど無視。 - title 属性を json 形式で iframe の属性に展開するようにコードを追加
title="'id':'test', 'style':'display:block;width:100%;'" と書けば
<iframe id="test" style="display:block;width:100%;" のように .setAttribute() される - iframe コンテンツの height を iframe の height に設定することでスクロールバーが出ないようにコードを追加
- JavaScript Source
-
<script></script>
(2012.01.17)更新
- Global 変数を使わないように関数化
- return で深くなったブロック階層を解消
- JavaScript Source
-
<script></script>
(2012.01.12)
- JavaScript Source
-
<script type="text/javascript"> var nodes = document.getElementsByTagName("script"); for (var i=0; i<nodes.length; i++) { var script = nodes.item(i); if (script.getAttribute("type") == "text/html") { var div = document.createElement("div"); script.parentNode.insertBefore(div, script); div.innerHTML = '<iframe frameborder="0"></iframe>'; // for IE7,IE8 var iframe = div.firstChild; if (iframe) { script.parentNode.replaceChild(iframe, div); var doc = iframe.contentDocument || iframe.contentWindow.document; if (doc) { doc.open(); doc.write(script.innerHTML); doc.close(); } } } } </script>
- HTML Source
-
<script type="text/html"> </script><!-- type="text/html" -->
- Result
確認
- OS
- Windows XP Professional Service Pack 3
- Web Brower
- Internet Explorer 8
- Firefox 9.0.1