javascript - 格式化此 JavaScript 行

标签 javascript formatting

我试图在我的弹出窗口中格式化这行代码,但我遇到了 unterminated string literal 错误。

谁能告诉我如何最好地格式化它。

window.setTimeout("winId.document.write('<script src="../js/tiny_mce/tiny_mce.js" type="text/javascript"></script>\n')", 10);

还要指出这一行特定的代码在弹出窗口中是否可以正常工作?

最佳答案

最好不要使用字符串,而是使用匿名函数:

window.setTimeout(function () {
    winId.document.write(
      '<script src="../js/tiny_mce/tiny_mce.js" type="text/javascript"></script>\n'
    );
}, 10);

在 setTimeout 和 setInterval 中使用字符串与 eval() 密切相关,应仅在极少数情况下使用。参见 http://dev.opera.com/articles/view/efficient-javascript/?page=2

可能还值得注意的是,document.write() 将无法在已解析的文档上正常工作。不同的浏览器会给出不同的结果,大多数会清除内容。另一种方法是使用 DOM 添加脚本:

window.setTimeout(function () {
    var winDoc = winId.document;
    var sEl = winDoc.createElement("script");
    sEl.src = "../js/tiny_mce/tiny_mce.js";
    winDoc.getElementsByTagName("head")[0].appendChild(sEL);
}, 10);

关于javascript - 格式化此 JavaScript 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949234/

相关文章:

javascript - 当我抓取表格时,如何避免来自不同选项卡的数据连接在一个单元格中?

Javascript - 项目对象数组

python - 修复 Python 中的错误?

javascript - 嵌入 chessboard.js 时出现问题

javascript - 提高 JS 的性能 - 避免多次选择具有相同 ID 的元素

c# - 如何使 Visual Studio 不将 { 放在新行上?

html - 是否可以将我自己的 HTML 转换为 PDF,而不破坏页面,保留格式并支持超链接?

actionscript-3 - 如何按字母顺序自动格式化 AS3 变量声明?

c# - 获取格式化字符串以表示 UTC 偏移量的最佳方法是什么?

javascript - 无法创建可重用的函数来取消选中 AngularJS 中的单选按钮