首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jQuery插入带有脚本标记的代码

问通过jQuery插入带有脚本标记的代码
EN

Stack Overflow用户
提问于 2021-08-06 07:57:23
回答 3查看 51关注 0票数 0

在我的HTML文件中,我有一个内联 if语句:

代码语言:javascript
复制
<script>
if(navigator.userAgent.indexOf("Speed Insights") == -1) {
    // insert code here
}
</script>

如何使它打印带有<script>标记的代码?

到目前为止我尝试过的

我尝试了以下几点:

​

代码语言:javascript
复制
if(navigator.userAgent.indexOf("Speed Insights") == -1) {
    jQuery('footer').append('<script type="text/javascript" src="//downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script><script type="text/javascript">window.dojoRequire(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"x","uuid":"x","lid":"x","uniqueMethods":true}) })</script>');
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<footer></footer>

​

但它会破裂。很可能,我逃不掉了.?

EN

回答 3

Stack Overflow用户

发布于 2021-08-06 09:08:55

我只想在评论中复制@Chris G的答案,这样对于有类似问题的人来说,它就变得更加可读性了。

​

代码语言:javascript
复制
if (navigator.userAgent.indexOf("Speed Insights") == -1) {
  const $chimp = jQuery("<script>");
  $chimp.attr('data-dojo-config', "usePlainJson: true, isDebug: false");
  $chimp.on('load', function() {
    window.dojoRequire(["mojo/signup-forms/Loader"], function(L) {
      L.start({
        "baseUrl": "x",
        "uuid": "x",
        "lid": "x",
        "uniqueMethods": true
      })
    })
  });
  jQuery('footer').append($chimp);
  $chimp.attr('src', "//downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js");
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<footer>Footer</footer>

​

票数 0
EN

Stack Overflow用户

发布于 2021-08-06 08:04:47

试试这段代码

代码语言:javascript
复制
<script>

    if(navigator.userAgent.indexOf("Speed Insights") == -1) {
        var scriptElement = document.createElement('script');
        scriptElement.setAttribute('src', '//downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js');
        scriptElement.setAttribute('data-dojo-config', 'usePlainJson: true, isDebug: false');
        document.body.appendChild( scriptElement );
    
        window.dojoRequire(['mojo/signup-forms/Loader'], function (L) {
            L.start({ baseUrl: 'x', uuid: 'x', lid: 'x', uniqueMethods: true });
        });
    }

</script>
票数 -1
EN

Stack Overflow用户

发布于 2021-08-06 08:06:29

用这个代码。

代码语言:javascript
复制
var head = document.getElementsByTagName('footer')[0];
var js = document.createElement("script");

js.type = "text/javascript";

if(navigator.userAgent.indexOf("Speed Insights") == -1) {
js.src = "/downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js" data-dojo-config="usePlainJson: true, isDebug: false";
js.content = "window.dojoRequire(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"x","uuid":"x","lid":"x","uniqueMethods":true}) })"
}

footer.appendChild(js);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68678117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档