<!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!"
的值,但它会显示一个空值。
但是对于第四个警报,我可以看到脚本标记内的整个文本,其标识为"embeddedScript"
原因?
答案 0 :(得分:0)
您创建的js脚本标记scriptData
在其标记之间没有内容。它只是链接到要执行的js资源。它看起来像这样
<script type="text/javascript" id="scriptData" src="DynamicText.jsp"></script>