Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将带标记的javascript动态插入html_Javascript - Fatal编程技术网

如何将带标记的javascript动态插入html

如何将带标记的javascript动态插入html,javascript,Javascript,我想外部js文件插入到html脚本 这是我的错误代码: var logScript = `<script>console.log('ok')</script>`; document.body.appendChild(logScript); var logScript=`console.log('ok')`; document.body.appendChild(logScript); 这是我所知道的最好的方法 var logScript = document.create

我想外部js文件插入到html脚本

这是我的错误代码:

var logScript = `<script>console.log('ok')</script>`;
document.body.appendChild(logScript);
var logScript=`console.log('ok')`;
document.body.appendChild(logScript);

这是我所知道的最好的方法

var logScript = document.createElement("script");
logScript.type = "text/javascript";
logScript.innerHTML = "console.log('test')";
document.body.appendChild(logScript);
据我所知,之所以必须这样做,是因为浏览器认为您在添加HTML,而不是脚本。另一种解决方法是这样做:

document.body.appendChild('<script>alert("hi");</' + 'script>');
document.body.appendChild('alert(“hi”);');
以下是有关此主题的一些资源:


我找到了一种既不需要追加也不需要createElement方法的方法。 我成功地做到了这一点: html部分:

<script id="jsScriptInHtml" data-cfasync="false" type="text/javascript"></script>

你为什么要这样做?一些上下文很可能意味着我们可以给你一个更好的解决方案。我有广告网络提供的广告代码。我需要外部js文件来在某些场景中将这些代码插入html。为什么不在页面中包含带有脚本标记的js文件?因为外部js决定我们是否需要使用它。
let logScript = `console.log('ok')`;
document.getElementById("jsScriptInHtml").innerHTML= logScript;