このバグを見て、
これはコードです: 「非常に大きく、左に移動された iframe を持つ単純な Web ページがあり、その中央部分が表示されています。次に、javascript を使用して、中央にフラッシュ オブジェクト (時計) を追加します (位置 1000x1000) そのため、iframe の可視セクションにあります。最初はフラッシュ ピースが適切にレンダリングされますが、ここで言及する「魔法の」手順の後、フラッシュ ピースはレンダリングされません」
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<BODY>
<iframe id="iframe" style="position: absolute; left: -1000px; top: -1000px; width:2000px; height: 2000px; border: 1px solid black"></iframe>
<SCRIPT LANGUAGE="JavaScript">
window[0].document.write('<body><div id="FlashContainer" style="display: inline;"><embed id="embed" name="embed" type="application/x-shockwave-flash" wmode="transparent" src="http://edmullen.net/flash/relog.swf" allowscriptaccess="always" allowfullscreen="true" swliveconnect="true" style="vertical-align: top; margin: 0px; width: 728px; height: 300px; clip: rect(0px 728px 300px 0px); position: absolute; left: 1000px; top: 1000px; z-index: 1;"></div></body>');
window[0].document.body.style.paddingLeft = "1000px"; //without this works
window[0].document.body.style.paddingTop = "1000px"; //without this works
</SCRIPT>
</BODY>
</HTML>
Chrome でこのコードを実行し、devtool (F12) を開きます。
要素の埋め込みを選択します。
値を変更します。
- 役職:相対的
- 左: 0px
- 上:0px
- (フラッシュがここでレンダリングされない場合もあります!)
再度次のように変更します。
- 位置: 絶対
- 左: 1200
- 上:1200
コメント: この 2 つの手順で、embed 要素を iframe の左上隅に移動し、元の位置に戻しました。
それで、バグはどこですか?バグは、フラッシュ要素がレンダリングされないことです (ステップ 1 または 2 にある可能性があります)。これを確認するには、右クリック (ビューポートの左上隅) を押します。フラッシュ ポップアップ メニューが表示されます。
それだけではありません!要素「FlashContainer」の表示プロパティを変更すると、そこにフラッシュ ピースが表示されます。
注:問題は左と上のパディングが原因です。なぜこれが起こっているのかわかりませんでした。
ありがとうございました!