從我的測試中看來,腳本標記可以從DOM中刪除,而不會對其包含的JavaScript產生任何影響。
此測試通過執行部分方式破壞腳本DOM節點。即使這對腳本沒有影響,在之後,將變量count
分配爲值1
腳本標記已從DOM中移除。刪除HTML腳本標記是否對它包含的JavaScript有任何影響?
<!DOCTYPE html>
<html lang="en">
<head>
<title> Test </title>
<script id="jQueryScriptTag" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
</head>
<body>
<button id="testBtn">Click to test</button>
<div id="output"></div>
<script id="testCodeScriptTag">
var count;
$("#jQueryScriptTag").remove();
$("#testCodeScriptTag").remove();
$("#output").append(
"<p>jQueryScriptTag is " + document.getElementById("jQueryScriptTag") + "</p>" +
"<p>testCodeScriptTag is " + document.getElementById("testCodeScriptTag") + "</p>" +
"<p>count is " + count + "</p>"
);
count = 1;
$("#testBtn").click(function(){
$("#output").append(
"<p>count is " + (count++) + "</p>"
);
});
</script>
</body>
</html>
該用例安全地從宿主站點刪除注入的第三方腳本元素。
當的JavaScript解析,它加入到全球範圍內(窗口對象)。所以元素只是一個文本容器。 – Mouser 2015-02-09 17:56:51
一旦執行javascript,就不那麼簡單,只需刪除腳本以使其不執行即可 – adeneo 2015-02-09 18:02:11