我试图在我的弹出窗口中格式化这行代码,但我遇到了 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/