为了账号安全,请及时绑定邮箱和手机立即绑定

如何在页面加载后通过jQuery动态插入<script>标记?

/ 猿问

如何在页面加载后通过jQuery动态插入<script>标记?

精慕HU 2019-08-17 16:10:38

如何在页面加载后通过jQuery动态插入<script>标记?

我在解决这个问题上遇到了问题。我首先尝试将脚本标记设置为字符串,然后使用jquery replaceWith()在页面加载后将它们添加到文档中:

var a = '<script type="text/javascript">some script here</script>';$('#someelement').replaceWith(a);

但是我在那个var上得到了字符串文字错误。然后我尝试编码字符串,如:

var a = '&left;script type="text/javascript"&gt;some script here&lt;\/script&gt;';

但发送它replaceWith()只是将该字符串输出到浏览器。

有人可以告诉我你如何<script>在页面加载后动态地将标签添加到浏览器中,理想情况下通过jQuery?


查看完整描述

3 回答

?
牧羊人nacy

您可以将脚本放入单独的文件中,然后使用$.getScript它来加载和运行它。

例:

$.getScript("test.js", function(){
    alert("Running test.js");});


查看完整回答
反对 回复 2019-08-17
?
摇曳的蔷薇

请尝试以下方法:

<script type="text/javascript">// Use any event to append the code
$(document).ready(function() 
{
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "http://scriptlocation/das.js";
    // Use any selector
    $("head").append(s);
});


http://api.jquery.com/append


查看完整回答
反对 回复 2019-08-17
?
慕工程0101907

以下是使用现代(2014)JQuery进行此操作的正确方法:

$(function () {
  $('<script>')
    .attr('type', 'text/javascript')
    .text('some script here')
    .appendTo('head');})

或者如果你真的想要替换你可以做的div:

$(function () {
  $('<script>')
    .attr('type', 'text/javascript')
    .text('some script here')
    .replaceAll('#someelement');});


查看完整回答
反对 回复 2019-08-17

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信