0
<!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!

2番目のアラートは[Object HTMLScriptElement]

3 番目のアラートで次の値が返されると予想してx="Hello World!"いましたが、空の値が表示されます。

しかし、4 番目のアラートでは、id を持つスクリプト タグ内にあるテキスト全体を確認できました。"embeddedScript"

理由?

4

1 に答える 1

0

作成した js スクリプト タグにscriptDataは、タグ間にコンテンツがありません。js リソースにリンクして実行するだけです。こんな感じで出てきます

<script type="text/javascript" id="scriptData" src="DynamicText.jsp"></script>
于 2013-09-17T18:18:53.910 に答える