在<script>标签中添加</脚本>标签的不同方式

Different way of adding a </script> tag within a <script> tag

本文关键字:标签 方式 脚本 script 添加      更新时间:2023-09-26

所以我有一个使用 Gridster 的情况.js我正在从可以包含结束脚本标记的序列化 JSON 对象构建页面。我在这里创建了一个JS小提琴

http://jsfiddle.net/bradtaylorsf/Hk357/3/

我尝试在这里使用"在脚本中使用脚本标签会破坏脚本"

    "</scr"+"ipt>"

    </script>

但这也没有用。模板呈现,但推特小部件实际上并未加载。这是完整的代码

    var gridster;
    $(function(){
          gridster = $(".gridster > ul").gridster({
            widget_base_dimensions: [350, 215],
            widget_margins: [5, 5],
            min_cols:2,
            resize: {
                enabled: false
            },
          }).data('gridster');
        var serialization = [{"col":1,"row":3,"size_x":2,"size_y":1,"html":"'n't't'nhello form'n'n't"},{"id":"widget1","col":1,"row":1,"size_x":1,"size_y":2,"html":"'n't't'n<iframe id='"twitter-widget-0'" scrolling='"no'" frameborder='"0'" allowtransparency='"true'" class='"twitter-timeline twitter-timeline-rendered'" title='"Twitter Timeline'" width='"350'" height='"400'" style='"border: none; max-width: 100%; min-width: 180px;'"></iframe>'n<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'"://platform.twitter.com/widgets.js'";fjs.parentNode.insertBefore(js,fjs);}}(document,'"script'",'"twitter-wjs'");</script>'n'n't"}];
        gridster.remove_all_widgets();
            $.each(serialization, function() {
                gridster.add_widget('<li>'+this.html+'</li>', this.size_x, this.size_y, this.col, this.row);
            });
        gridster.disable();

    });

我在JSFiddler上注意到的第一个是你的命名数组中有一个错误的转义代码: - 表单''''t"} 应为 - 表单''''t''"}

接下来,你为什么不做这样的事情:

var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.innerHTML = "// script content";
document.getElementsByTagName("head")[0].appendChild( fileref );

这是一个可以完成所有操作的函数:

http://www.qlambda.com/2012/01/add-script-tags-to-dom-dynamically.html