格式化这个JavaScript线 [英] Formatting this JavaScript Line

查看:143
本文介绍了格式化这个JavaScript线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在我的弹出窗口中格式化这行代码,但是我正面临未终止的字符串字面值错误。
$ b $有人请告诉我如何最好的格式。

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

另外指出这行代码是否可以在弹出菜单中正常工作?

解决方案

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

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

在setTimeout和setInterval中使用字符串与 eval() code>,并且只能在极少数情况下使用。请参阅 http://dev.opera.com/articles/view/高效的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(头)[0] .appendChild(sEL);
},10);


I am trying to format this line of code in my popup window, but i am facing unterminated string literal error.

Can somebody please tell me how best I could format this.

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

Also point out if this particular line of code would work fine in the popup?

解决方案

Best not to use a string, but an anonymous function instead:

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

Using strings in setTimeout and setInterval is closely related to eval(), and should only be used in rare cases. See http://dev.opera.com/articles/view/efficient-javascript/?page=2

It might also be worth noting that document.write() will not work correctly on an already parsed document. Different browsers will give different results, most will clear the contents. The alternative is to add the script using the 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线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆