Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用特定url阻止脚本_Javascript_Html - Fatal编程技术网

Javascript 使用特定url阻止脚本

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

我有一个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=" 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测试过这个