Javascript 在不同上下文中创建的html字符串中插入JS变量
我制作了一个html文档的实例(一个字符串),当用户单击按钮时,它将被打开。但是我也创建了一个变量Javascript 在不同上下文中创建的html字符串中插入JS变量,javascript,html,Javascript,Html,我制作了一个html文档的实例(一个字符串),当用户单击按钮时,它将被打开。但是我也创建了一个变量msg,应该插入其中。我的问题是msg变量没有插入文档中。我猜是因为不同的背景 如何将变量插入htmlString? 现在我收到消息:?tempFile:13未捕获引用错误:未定义msg var msg = "message from outer space"; alert(msg); // Alerts "message from outer space"
msg
,应该插入其中。我的问题是msg
变量没有插入文档中代码>。我猜是因为不同的背景
如何将变量插入htmlString?
现在我收到消息:?tempFile:13未捕获引用错误:未定义msg
var msg = "message from outer space";
alert(msg); // Alerts "message from outer space"
var htmlString = `<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
alert(msg); // This gives error (undefined)
document.getElementById("para").innerHTML = msg;
</script>
</head>
<body>
<p id="para"></p>
</body>
</html> `
window.open().document.write(htmlString)
var msg=“来自外层空间的信息”;
警报(msg);//警报“来自外层空间的信息”
var htmlString=`
警报(msg);//这会产生错误(未定义)
document.getElementById(“para”).innerHTML=msg;
`
window.open().document.write(htmlString)
您可以使用:`${msg}`
var msg = "message from outer space";
var htmlString = `<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p id="para"></p>
<script>
alert(${msg}); // This gives error (undefined)
document.getElementById("para").innerHTML = '${msg}';
</script>
</body>
</html> `
var msg=“来自外层空间的信息”;
var htmlString=`
警报(${msg});//这会产生错误(未定义)
document.getElementById(“para”).innerHTML='${msg}';
`
虽然正如吴浩所说,您可以在
标记之间添加msg。最好在html正文的底部添加脚本
var msg = "message from outer space";
var htmlString = `<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p id="para">${msg}</p>
</body>
</html> `
var msg=“来自外层空间的信息”;
var htmlString=`
${msg}
`
msg
->'${msg}'
,请参阅。此外,由于在加载dom之前放置了script
标记,因此代码无法工作,因此文档.getElementById(“para”)
将未定义。只需将msg
直接放在标记中:${msg}
如果msg
来自不受信任的来源(例如,用户可以处理的任何内容:输入、数据库、url等),则必须对其进行编码,否则容易受到XSS攻击。