在页面加载之前修改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