[英]Get innerHtml of script-tag using JavaScript returns 'undefined'
我嘗試使用JavaScript獲取腳本標簽的innerHtml。
var scripts = document.getElementsByTagName("script");
console.log(scripts.length);
console.log(scripts[0].innerHtml);
該腳本記錄2
undefined
腳本,但是為什么找到2個腳本卻返回未定義腳本? 我需要獲取腳本的innerHtml。 Anny的幫助將不勝感激:)
編輯:將innerHtml
更改為innerHTML
它仍然在控制台中引發錯誤:
Uncaught TypeError: Cannot read property 'innerHTML' of undefined (line 34)
第34行是這樣的:
var scripts = document.getElementsByTagName("script"); //line 32
for (var i = 0, imax = scripts.length; i < imax; i++) { //line 33
var scriptstring = scripts[i].innerHTML; } // line 34
順便說一句,該腳本不是嵌入式.js文件,而是硬編碼在.html文件中
編輯2:整個.html文件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
<script type="text/javascript">
onmousemove = function test1() {
window.alert('hello');
}
</script>
<script>
window.onload = function() {
var scripts = document.getElementsByTagName("script");
for (var i = 0, imax = scripts.length; i < imax; i++) {
var scriptstring = scripts[i].innerHTML;
scriptstring = scriptstring.replace(/(\r\n|\n|\r)/gm,""); //convert the innerHTML to one line, easier to match
if (scriptstring.match(/.*(function) (test1).*/) != null) {
scripts[i].parentNode.removeChild(scripts[i]);
}
}
}
</script>
</head>
<body>
</body>
</html>
innerHtml
應該:
innerHTML
它應該是.innerHTML
,而不是.innerHtml
。
因為您要調用innerHTML
的script
標記是通過src
屬性而不是元素本身聲明其源的。
因為它是innerHTML
而不是innerHtml
請改寫這行
for (var i = 0, imax = scripts.length; i < imax; i++)
至
for (var i = 0; i < scripts.length; i++)
因為
var scriptstring = scripts[i].innerHTML;
在最后一個索引處發生行運行錯誤(刪除了第一個腳本,因此scripts.length
減少了, imax
不變)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.