Javascript 使用特定url阻止脚本
我有一个html文档,并在其中加载一个脚本,如下所示:Javascript 使用特定url阻止脚本,javascript,html,Javascript,Html,我有一个html文档,并在其中加载一个脚本,如下所示: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
</head>
<body>
</body>
</html>
我的问题是,是否有一种方法可以阻止来自源code.jquery.com
的脚本调用,方法是在脚本之前添加一个脚本,然后扫描并阻止它
我什么也没找到
希望你能帮助我
提前谢谢 您可以使用我编写的以下函数阻止脚本运行。
blockScript
将遍历所有脚本标记,并删除包含您提供的源代码的任何脚本标记的源代码。请注意,这将使用API并删除所有匹配的脚本标记
区块脚本
函数块脚本(源){
const scripts=Array.from(document.getElementsByTagName(“脚本”);
如果(scripts.length>0){
scripts.forEach((脚本)=>{
if(script.src.includes(origin)){
document.head.removeChild(脚本);
}
})
}
}
变异观察者
使用,您可以监视DOM的更改
const observer=new MutationObserver((mutationsList,observer)=>{
for(让突变列表突变){
const addedNodes=Array.from(mutation.addedNodes);
if(addedNodes&&addedNodes.some(n=>n.nodeName==='SCRIPT')){
blockScript('code.jquery.com');
}
observer.disconnect();
}
});
observer.observe(文档,{childList:true,subtree:true});
把所有的东西放在一起
函数块脚本(源){
const scripts=Array.from(document.getElementsByTagName(“脚本”);
如果(scripts.length>0){
scripts.forEach((脚本)=>{
if(script.src.includes(origin)){
document.head.removeChild(脚本);
}
})
}
}
const observer=新的MutationObserver((mutationsList,observer)=>{
for(让突变列表突变){
const addedNodes=Array.from(mutation.addedNodes);
if(addedNodes&&addedNodes.some(n=>n.nodeName==='SCRIPT')){
blockScript('code.jquery.com');
}
observer.disconnect();
}
});
observer.observe(文档,{childList:true,subtree:true});
$(文档).ready(函数(){
console.log(“我未定义”);
})
你应该
Uncaught ReferenceError: $ is not defined
我只使用Chrome进行了测试。您可以使用我编写的以下函数阻止脚本运行。
blockScript
将遍历所有脚本标记,并删除包含您提供的源代码的任何脚本标记的源代码。请注意,这将使用API并删除所有匹配的脚本标记
区块脚本
函数块脚本(源){
const scripts=Array.from(document.getElementsByTagName(“脚本”);
如果(scripts.length>0){
scripts.forEach((脚本)=>{
if(script.src.includes(origin)){
document.head.removeChild(脚本);
}
})
}
}
变异观察者
使用,您可以监视DOM的更改
const observer=new MutationObserver((mutationsList,observer)=>{
for(让突变列表突变){
const addedNodes=Array.from(mutation.addedNodes);
if(addedNodes&&addedNodes.some(n=>n.nodeName==='SCRIPT')){
blockScript('code.jquery.com');
}
observer.disconnect();
}
});
observer.observe(文档,{childList:true,subtree:true});
把所有的东西放在一起
函数块脚本(源){
const scripts=Array.from(document.getElementsByTagName(“脚本”);
如果(scripts.length>0){
scripts.forEach((脚本)=>{
if(script.src.includes(origin)){
document.head.removeChild(脚本);
}
})
}
}
const observer=新的MutationObserver((mutationsList,observer)=>{
for(让突变列表突变){
const addedNodes=Array.from(mutation.addedNodes);
if(addedNodes&&addedNodes.some(n=>n.nodeName==='SCRIPT')){
blockScript('code.jquery.com');
}
observer.disconnect();
}
});
observer.observe(文档,{childList:true,subtree:true});
$(文档).ready(函数(){
console.log(“我未定义”);
})
你应该
Uncaught ReferenceError: $ is not defined
我只使用Chrome测试过这个