问题描述
|
我有以下生成警报框的JS:
alert(\"You have selected the maximum number of funds available for comparison. Please ensure only five funds have been selected for your basket\");
Chrome呈现警告框,如下所示:
最后两个单词分别包裹在单独的行中。
有没有人见过这个?任何想法如何解决这一问题?!
由于我能够重现此错误,因此想添加另一个屏幕截图:
-杰里米
解决方法
@DaveDev,这是您要求的图像。我认为它看起来足够好。
该代码来自@dr jimbob的答案。
, 对于旧版Chrome,这似乎是一个错误。
http://code.google.com/p/chromium/issues/detail?id=83670
在Linux上的Chrome 12中,它工作正常,因此我无法轻松地进行复制/调试。您是否尝试过设置自己的换行符,例如每70个字符后说一次:
alert(\"You have selected the maximum number of funds \\n\"+
\"available for comparison. Please ensure only five \\n\"+
\"funds have been selected for your basket.\");
我知道硬编码换行符通常不是一个好主意(在某些情况下,它们是较差的选择),或者如果文本更改了,则换行符必须由您进行调整。
作为程序员/开发人员,您无法完全说明chrome无法正常运行。除了可能完全避免使用“ 2”框,而以另一种方式发送错误消息(例如ajax或来自jquery的自定义提醒)。
, 我建议您以程序员的身份控制每个字符串的长度。您可以使用\'\\ n \'字符自己剪切行,并自己控制每行。
, 我怀疑您的文档中有一行结尾,因为在我的Chrome(12,Windows 7)中对其进行了测试,因此警报显示应该像这样。您在使用HTMLTidy还是某种HTML格式程序?
[edit]好的,这似乎是真正的Chrome问题。这里有一些与Chrome相关的问题@ code.google.com
冗长的警报中有奇怪的换行符
长文本消息在Javascript Alert框中被截断
javascript警报弹出窗口每132个字符截断字符串
, 我偶然发现的解决方案是在字符串的末尾添加+ \“ \\ \”(反斜杠空间)。无论如何,我的每一行文本都以\\ n结尾,因此实际上我的字符串现在以\“ \\ n \\ \”结尾。然后,看来我可以使用任意多个\\ n \。不要问我为什么。也许它将为您工作?只是叫我执着!