【问题标题】:Add script to DOM that user inserts in textbox将脚本添加到用户在文本框中插入的 DOM
【发布时间】:2015-04-11 18:08:27
【问题描述】:

我要做的是从文本框中获取值并将其加载到容器中,如下所示:

var script = $('#txtbox').val();
$('.container').html(script);

我还尝试使用 javascript 再次创建脚本,方法是查找用户插入的值并创建一个新脚本并将其附加到容器中,如下所示:

var tempdiv = $("<div></div>").html($('#txtbox').val());
$(tempdiv).find('script').each(function(index,$element){
     var script = document.createElement("script");
    $.each($element.attributes, function(){
        if (this.specified){
            script.setAttribute(this.name, this.value);
        }
    });
    script.innerHTML = $($element).html();
    $('.container').append(script); 
});

但还是不行,我明白了:

在“文档”上执行“写入”失败:无法从异步加载的外部脚本写入文档

有什么建议吗?也许尝试在 iframe 中加载脚本,以某种方式刷新 DOM 或什么?

【问题讨论】:

    标签: javascript jquery html dom script-tag


    【解决方案1】:

    我通过使用 iframe 解决了这个问题。在 javascript 中,我刚刚创建了一个表单和一个隐藏的输入字段,它们被提交到 iframe 加载的页面。

    查看JavaScript post request like a form submit了解更多详情。

    【讨论】:

      猜你喜欢
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 1970-01-01
      • 2018-06-15
      相关资源
      最近更新 更多