在页面加载之前修改html页面中所有脚本的src

在使用javascript加载js脚本之前,是否可以重写html页面中所有脚本标记的所有src?在页面加载之前修改html页面中所有脚本的src

我试图使用<plaintext>标签,但我想知道是否有更好的解决方案。

回答:

我想我做了一个你想要的工作例子。它使用MutationObserver监听节点对主体的更改,并在找到时更改所有脚本的src。它要求您的JavaScript在目标文件之前执行。

<script>  

// select the target node

var target = document.body;

// create an observer instance

var observer = new MutationObserver(function(mutations) {

mutations.forEach(function(mutation) {

console.log(mutation.type)

Array.from(document.querySelectorAll('script')).forEach(s => {

if (s.src && s.src.indexOf('jquery') !== -1) {

s.src = "" // this resets the script src

}

});

console.log('Jquery is loaded:', typeof $ !== 'undefined')

});

});

// configuration of the observer:

var config = {

childList: true

};

// pass in the target node, as well as the observer options

observer.observe(target, config);

</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js?hej"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js?oj"></script>

以上是 在页面加载之前修改html页面中所有脚本的src 的全部内容, 来源链接: utcz.com/qa/262786.html

回到顶部