我有一个脚本,可以将 div 添加到包含全屏 Flash 对象的页面中,如下所示:
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";
}
考虑到我不拥有主机页面并且无法设置 Flash 对象的 wmode 参数,有什么方法可以让 myDiv 出现在 Chrome 中的 Flash 对象之上?为什么它在 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>