我有类似的代码:
line 041: <script src='http://blabla041' type='text/javascript'></script>
line 052: <script src='http://blabla052' type='text/javascript'></script>
line 063: <script src='http://blabla053' type='text/javascript'></script>
...
line 499: <script src='http://specificaddress' type='text/javascript'></script>
...
line 997: <script src='http://blabla097' type='text/javascript'></script>
line 998: <script src='http://blabla098' type='text/javascript'></script>
line 999: <script src='http://blabla099' type='text/javascript'></script>
我只能使用经典JavaScript编辑它。
问题是如何使用http://specificaddress
的src来定位此脚本标记以完全删除它?
答案 0 :(得分:0)
最后我发现我的代码出了什么问题。
重要:您必须输入指定脚本的完整路径。
var script = document.getElementsByTagName('script');
for (var i = 0; i < script.length; i++) {
if (script[i].src == 'file:///C:/Users/username/Desktop/test.js') {
script[i].src = 'nothingHere';
console.log(script[i]);
}
}
<script src='file:///C:/Users/username/Desktop/test.js' type='text/javascript'></script>
<script src='js/adawdaw.js' type='text/javascript'></script>
<script src="js/scripts.js"></script>
答案 1 :(得分:0)
例如在098
let element = document.querySelector("script[src='http://blabla098']");
element.parentNode.removeChild(element);
答案 2 :(得分:0)
这是目前的解决方案之一
function scriptElement(param){
var sc = document.scripts;
for(var i=0;i<sc.length;i++){
if(sc[i].src == param || sc[i].id == param){
document.scripts[i].index = i;
return document.scripts[i];
}
if(sc[i].className == param){
return document.scripts;
}
}
}
scriptElement("http://blabla041").index;//return index => 0
scriptElement("http://blabla041").src; // return http://blabla041
scriptElement("http://blabla041").className; //return class attribute
scriptElement("http://blabla041").id; // return id;
scriptElement("scriptid").src;//also className,id
scriptElement("classname")[0].index;//also src,className,id
//to replace src
scriptElement("http://blabla041").src = "http://newsrc.url";
//to remove script
scriptElement("http://blabla041").parentNode.removeChild(scriptElement("http://blabla041"));