JavaScript-从HTML中删除脚本标记
加载HTML文件时,我希望运行一个脚本,该脚本将根据用户代理从HTML文件中删除一些脚本标记 为此,我遵循以下问题: 但无法实现我所需要的,脚本标签被删除,它们正在下载 HTML:JavaScript-从HTML中删除脚本标记,javascript,html,Javascript,Html,加载HTML文件时,我希望运行一个脚本,该脚本将根据用户代理从HTML文件中删除一些脚本标记 为此,我遵循以下问题: 但无法实现我所需要的,脚本标签被删除,它们正在下载 HTML: <html> <head> </head> <body> <p></p> <script type="text/javascript"> function stripScripts(s) {
<html>
<head>
</head>
<body>
<p></p>
<script type="text/javascript">
function stripScripts(s) {
var div = document.createElement('div');
div.innerHTML = s;
var scripts = div.getElementsByTagName('script');
var i = scripts.length;
while (i--) {
scripts[i].parentNode.removeChild(scripts[i]);
}
return div.innerHTML;
}
var userAgent = navigator.userAgent;
console.log(userAgent);
if (!userAgent.includes("Chrome")) {
stripScripts(); // Here how can I call the present index.html?
}
else {
var para = document.createElement("P");
var t = document.createTextNode("You cannot view this in Chrome");
para.appendChild(t);
document.body.appendChild(para);
};
</script>
<script type="text/javascript" src="scripts2.js"></script> <!-- load only when the condition is met else remove it --!>
</body>
</html>
功能条带脚本{
var div=document.createElement('div');
div.innerHTML=s;
var scripts=div.getElementsByTagName(“脚本”);
var i=scripts.length;
而(我--){
脚本[i].parentNode.removeChild(脚本[i]);
}
返回div.innerHTML;
}
var userAgent=navigator.userAgent;
console.log(userAgent);
如果(!userAgent.includes(“Chrome”)){
stripScripts();//这里如何调用present index.html?
}
否则{
var para=document.createElement(“P”);
var t=document.createTextNode(“您不能在Chrome中查看此文件”);
第3(t)段;
文件.正文.附件(第6段);
};
如果您不想运行script2.js,那么就不要在页面中包含它。只在需要时才将其添加到文档中。我对此没有控制权,脚本总是包含在html中,因为它是从angular cli生成的,所以我需要一种动态剥离这些脚本的方法。尝试在Head中添加script2.js您可以从angular lifecycle Hook动态添加脚本问题是,如果它包含在页面中,并且您可以引用它,而不是它已经运行。