我有一个脚本,我想在加载之前将其注入到文档中。IE; 它应该像
<script..>MYSCRIPT HERE</script>
<html>
.
.
我在 chrome 中制作了一个可以正确执行的脚本(我可以 alert(0) 等),但是它在不同的环境中运行,这不是我想要的。我希望它在与页面相同的环境中运行。
早些时候,我在启动脚本中使用了一个技巧
window.location="javascript:<MY SCRIPT HERE>"
这有效地改变了执行环境,但在过去的几天里它不起作用。我认为它是一个 chrome 错误修复。有没有其他解决方法?注意:我无法在启动脚本中动态添加脚本标签到页面,因为 document.body 等不可用。
我想为您提供更多详细信息,说明我为什么需要这个以及我以前的解决方案。我无法控制的 HTML 页面:
.
.
<script>
function a(){//DOSOMETHING}
</script>
.
.
<script>
a(); <<------ I DONT WANT TO CALL THIS
</script>
解决方法:启动 JavaScript 包含
window.location='javascript:const a=function(){};';<<-CONST used!!
当页面实际加载时,这将强制重新声明“a”的错误,因此,当调用 a() 时,什么也没有发生。(聪明,对吧?-_-)
但是现在,我意识到当我这样做时window.location="js:.."
,即使是在单独的环境中运行!