我已經增加了一個div來包含全屏Flash對象的頁面時,這樣的腳本:將格在Flash對象與userscript
var myDiv= document.createElement("div");
myDiv.style.background = "red";
myDiv.style.width = "30px";
myDiv.style.height = "30px";
myDiv.style.position = "absolute";
myDiv.style.top = "0";
myDiv.style.left = "0";
document.body.appendChild(myDiv);
在Firefox(上Greasemonkey的運行),myDiv出現在Flash對象的頂部。在Chrome中(運行在Tampermonkey上),它被添加到下面。我似乎無法通過設置z-index來改變它 - 它被忽略。
// code which apparently does nothing:
myDiv.style.zIndex = "999";
var swf_div = document.getElementById("swf_div");
if (swf_div) {
swf_div.style.zIndex = "-999";
}
有什麼辦法,我可以得到myDiv出現在Chrome中的Flash對象的頂部,考慮到我沒有自己的主頁,並且不能設置Flash對象的Wmode PARAM?爲什麼在FF和Chrome中表現不同?
ETA主頁(glitch.com/game)來源摘要:
<body>
...
<div id="client_div" style="width: 1680px; left: 0pt;">
<object id="swf_div" width="100%" height="100%" type="application/x-shockwave-flash" data="http://c1.glitch.bz/swf/Boot_78793.swf" style="visibility: visible;">
<param name="allowscriptaccess" value="always">
<param name="allownetworking" value="all">
<param name="wmode" value="direct">
<param name="flashvars" value="--- auth tokens, omitted ---">
</object>
</div>
...
</body>
鏈接到有問題的頁面。 ...也嘗試改變節點的順序。 將'document.body.appendChild(myDiv);'替換爲: 'var targ = document.querySelector(「body *」);/*第一個孩子*/ targ.parentNode.insertBefore(myDiv,targ);' – 2012-01-16 02:20:48
該網頁是www.glitch.com/game,但它不會運行,除非您是已登錄的播放器。我在上面的文章中添加了一些源代碼,這是我在Firebug中檢查Flash對象時看到的。嘗試了您的建議 - myDiv不會顯示在我的目標頁面上,也不會顯示在沒有Flash內容的其他頁面上。 – tuff 2012-01-16 18:53:24