所以我找到了这个脚本,它允许你在加载之前编辑一个网页,或者至少这是我从中得到的印象。我的问题是,如果我想删除一个异步脚本,这是网页上运行的第一件事就会解决这个问题吗?
var xhr = new XMLHttpRequest,
content,
doc,
scripts;
xhr.open( "GET", document.URL, false );
xhr.send(null);
content = xhr.responseText;
doc = document.implementation.createHTMLDocument(""+(document.title || ""));
doc.open();
doc.write(content);
doc.close();
scripts = doc.getElementsByTagName("script");
//Modify scripts as you please
[].forEach.call( scripts, function( script ) {
script.removeAttribute("src");
script.innerHTML = 'alert("hello world");';
});
//Doing this will activate all the modified scripts and the "old page" will be gone as the document is replaced
document.replaceChild( document.importNode(doc.documentElement, true), document.documentElement);
即。如果上面的脚本位于名为prerun.js
的文件中,或者只位于页面顶部的<script>
标签中,并且我有一个脚本(不确定它是否实际上是异步或同步脚本) thescript.js
我希望在加载/运行
thescript.js
这是我的<head>
标记的样子:
<head>
<script type="text/javascript" src="prerun.js"></script>
<script type="text/javascript" async="" src="thescript.js"></script>
</head>
如果它在加载/运行之前没有删除脚本,那么这将是什么方法呢?