簡體   English   中英

從動態添加的腳本標簽獲取innerHTML

[英]Get innerHTML from dynamically added script tag

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<script type="text/javascript" id="embeddedScript">
    var script = document.createElement("script");
    script.setAttribute("type", "text/javascript");
    script.setAttribute("id", "scriptData");
    script.src = "DynamicText.jsp";
    script.onload = function() {
        alert(x);
        alert(document.getElementById("scriptData"));
        alert(document.getElementById("scriptData").innerHTML);
        alert(document.getElementById("embeddedScript").innerHTML);
    };
    document.getElementsByTagName("head")[0].appendChild(script);
</script>
</body>
</html>

DynamicText.jsp

x="Hello World!"

第一個警報會發出Hello World!

第二個警報給出[Object HTMLScriptElement]

我希望第三個警報給出x="Hello World!"的值x="Hello World!" 但是它顯示一個空值。

但是對於第四次警報,我可以看到id為"embeddedScript"的腳本標簽中的全部文本

原因?

您創建的js腳本標簽scriptData在其標簽之間沒有內容。 它只是鏈接到要執行的js資源。 它會像這樣出來

<script type="text/javascript" id="scriptData" src="DynamicText.jsp"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM