javascript - 如何使用 Prototype 插入 <script>?

标签 javascript prototype insert script-tag

我正在使用原型(prototype)插入函数来添加一些包含 <script>...</script> 的 html .在这个脚本中,我定义了一个新函数。当我读到here原型(prototype)运行 <script> 中的脚本标签然后将其删除,但所有功能都应保持可访问性。但是从那一刻起我就无法运行我的新功能了。

 $('some_id').insert({ bottom: '<script> ... </script>' });

如何解决?最好的是它不会删除 <script>标签。

编辑:

现在我是这样做的:

var add_here = document.getElementById('prepayment_group_items');
var src = document.createElement('div');
src.innerHTML = 'a lot of html with script tags';
add_here.appendChild(src);

最佳答案

此函数将向页面头部添加一个脚本标记,无论您传递给它的是什么内容。

function insertScript(script_text) {
    var script_tag = document.createElement('script');
    script_tag.type = "text/javascript";

    var script = document.createTextNode(script_text);
    script_tag.appendChild(script);

    document.getElementsByTagName('head')[0].appendChild(script_tag);
}

我对 jQuery 比对 Prototype 更熟悉,所以我只是用纯 JS 来做这件事。

如果需要,将我创建元素的部分和我获取 HEAD 元素的部分翻译成 Prototype,但使用对 appendChild 的调用而不是 Prototype 的 insert函数,因为它只会按照您的要求执行,而不是评估 JS。

当然,既然我已经了解了您的要求,您也可以尝试将要插入的代码更改为:

window.update_12345 = function() {...}

我不确定这是否适合它,但值得一试。

关于javascript - 如何使用 Prototype 插入 &lt;script&gt;?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2074982/

相关文章:

javascript - 加载时滚动窗口

javascript - 在嵌套的 Prototype 子对象中使用 'this'

javascript - 为什么构造函数改变了?

javascript - 扩展原型(prototype)函数而不覆盖它

mysql - 无法在 MySQL 中使用外键插入值

javascript - 我如何默认检查单选按钮?

javascript - Electron NPM 应用程序找不到文件 :///eel. js,但 python 可以

java - Docx4j:在父级下的当前项目之后插入项目 X 次

javascript - 如何在 Node.js 中上传图片

C++迭代插入二叉搜索树BST