如何在 JavaScript 中追加 < script > </script > ?

我需要使用 appendChild()或 jQuey 的 append()来在文档中添加一些 <script>标签。据我所知,这些都被剥掉了。有人知道怎么做吗?

419776 次浏览
$('your_document_selector').text('<script></script>')

.text()使得添加脚本标记并将其呈现为 HTML 成为可能。

或者

$('your_document_selector').append('&lt;script&gt;&lt;/script&gt;')
$('<script>alert("hi");</' + 'script>').appendTo(document.body);

演示

试试这个:

var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);

注意,脚本将加载,您可以访问其中的变量,但是在 DOM 中看不到实际的 <script>标记。

如果你需要附加一个脚本,以便解析,你可以像谷歌做他的 + 1按钮

  (function() {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'link to your script here';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
// Create the element


var script = document.createElement("script");


// Add script content


script.innerHTML = "...";


// Append


document.head.appendChild(script);

或者

document.body.appendChild(script);

这对我有用。

<script>
$('head').append("<script>your script content here<\/script>");
</script>

注意,内部 </script>的“/”被转义为 "<\/script>"。如果不是,它实际上关闭外部 <script>标记。

添加的脚本不可见,但将被执行。 希望能帮上忙。