【发布时间】:2011-04-20 22:46:05
【问题描述】:
我在让它工作时遇到问题。我首先尝试将我的脚本标签设置为字符串,然后在页面加载后使用 jquery replaceWith() 将它们添加到文档中:
var a = '<script type="text/javascript">some script here</script>';
$('#someelement').replaceWith(a);
但是我在那个 var 上遇到了字符串文字错误。然后我尝试对字符串进行编码,例如:
var a = '&left;script type="text/javascript">some script here<\/script>';
但将其发送到replaceWith() 只会将该字符串输出到浏览器。
有人可以告诉我你将如何在页面加载后动态添加<script> 标记到浏览器中,最好是通过 jQuery?
【问题讨论】:
-
您能解释一下通过在文档中添加
<script>标签来实现的目的吗? -
@Rocket 的答案是最好的,但如果您确实想从字符串中添加内联脚本,那么您只需将其传递给
eval()函数即可。但是使用eval()几乎总是表明有更好的方法来做你想做的事情。 -
我们正在尝试将第 3 方广告的加载推迟到页面末尾。这些广告是通过 2 个脚本标签调用的,所以我想在页面加载后运行一个函数,将它们动态地抛出。
-
并非所有第三方脚本都设计为可延迟的。如果脚本使用
document.write并且您在页面加载后调用它,它将破坏页面。 -
为什么不在
<iframe>元素中导入这些标签?您可以推迟设置<iframe>URL,直到您准备好。
标签: javascript jquery script-tag javascript-injection