我有这个脚本必须在 document-start 上注入,在 document.body 存在之前(只有 head 存在)。该脚本在创建 body 之前通过 css 样式隐藏了页面上的一些类,并在 DOMContentLoaded 之后添加了一个带有消息的居中 div,因此 body 存在。如果在 document-body 或 document-end 上注入此脚本将不起作用:(
除了这个脚本之外,我还有另一个可以在页面上执行一些操作的脚本,但是该脚本需要 document.body 元素,因此需要在文档端注入(文档主体可能会起作用)。
两个脚本应该一个接一个地在同一个内容选项卡上运行。
注入将在后台页面上完成,那么我应该如何以及在哪里将每个脚本注入正确的位置?
斗篷.js
// must be injected at document-start to work
function ShowMsg()
{
// show message after body created
var el = document.createElement('div');
el.setAttribute( 'id', 'out_div_msg' );
el.setAttribute( 'style', 'position:absolute; width:200px; height:100px; left:50%; top:50%;'+
' visibility:hidden; z-index:999' );
el.innerHTML = '<div id="in_div_msg" style="position:relative; width: 100%;height:100%; left:-50%; top:-50%;'+
' visibility:visible; border:1px solid;"><table border="0" width="100%" id="table1" cellspacing="0"'+
' cellpadding="0" height="100%" style="border-style: outset; border-width: 2px; padding: 5px;'+
' background-color: #C0C0C0"><tr><td align="center" style="font-family: Consolas; font-size: 12px;'+
' color: #000000">Do not close this window<br><br>It will close automatically when finnished</td>'+
'</tr></table></div>';
document.body.appendChild( el );
}
// inject style before body created
var s = document.createElement('style');
s.setAttribute('type', 'text/css');
s.innerText =
' .hot_news { display: none !important; }'+
' .bg-wall { display: none !important; }'+
' .cmenu { display: none !important;' +
' body { background-color: #000000; }';
(document.head||document.documentElement).appendChild(s);
document.addEventListener("DOMContentLoaded", ShowMsg, false);
谢谢先进