javascript - JavaScript - 从 HTML 中删除脚本标签
问题描述
加载 HTML 文件时,我想运行一个脚本,该脚本将基于用户代理从 HTML 文件中删除一些脚本标签。
为此,我遵循了这个问题:Removing all script tags from html with JS Regular Expression
但无法达到我的需要,脚本标签被删除并被下载。
HTML:
<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>
当我index.html
在 chrome 中运行时,一直在script2.js
加载。
解决方案
推荐阅读
- kdb - 替换列表中与 KDB Q 中的子字符串不匹配的元素
- java - 如何在资源文件夹中存储属性文件
- swift - Swift - 将图像的数据转换为二进制数
- python - Python数组 - 更改一个值会更改多个插槽
- xml - 如何在保留现有命名空间的同时写入 XML 文件
- python - 使用 pymongo 查询 mongo DB 时删除 BSON 对象 ID
- styled-components - 使用样式组件时如何使此警告消失?- className prop 没有被传递给孩子
- python - 如何在 Python 中创建不同组的词云?
- java - 如果有任何用户输入,则接受用户输入的while循环,否则会自行执行吗?
- c# - C# 不使用 ForEach 获取 DataTable 的 DataRow