是否可以在运行之前捕获异步脚本?

时间:2014-04-24 20:13:39

标签: javascript html asynchronous

所以我找到了这个脚本,它允许你在加载之前编辑一个网页,或者至少这是我从中得到的印象。我的问题是,如果我想删除一个异步脚本,这是网页上运行的第一件事就会解决这个问题吗?

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>

如果它在加载/运行之前没有删除脚本,那么这将是什么方法呢?

0 个答案:

没有答案