我嘗試使用JavaScript獲取腳本標記的innerHtml。使用JavaScript獲取腳本標記的innerHtml返回'undefined'
var scripts = document.getElementsByTagName("script");
console.log(scripts.length);
console.log(scripts[0].innerHtml);
這個腳本日誌2
和undefined
,但爲什麼當有發現2個腳本它返回undefined?我需要獲取腳本的innerHtml。安妮幫助將不勝感激:)
編輯: 改變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>
嘗試調試並檢查您的問題腳本[0] .innerHTML –
它是innerHTML,它不是innerHtml。 – Kannika
你還可以發佈完整的html文件嗎? – Dogbert