【问题标题】:JavaScript String Limit?JavaScript 字符串限制?
【发布时间】:2012-01-28 15:43:41
【问题描述】:

我有一个关于我的 javascript 代码的问题(抱歉我的英语不太好)。但是,该代码有效,只有一个数据条目,结果 HTML 中的字符串在接近结尾处被截断(最后几个字符似乎被删除,字符删除的长度是一致的)。我想知道我是否达到了字符串限制或类似的东西。问题数据条目(存储在下面的 var gDef 中)有 4110 个字符长,这看起来应该不是问题...帮助?

以下是我的代码:

gI = document.gForm.gLinks.options[document.gForm.gLinks.selectedIndex].value;

definition = "";        

gWord = (g[gI].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);

gDef = (g[gI].getElementsByTagName("DEFINITION")[0].childNodes[0].nodeValue).replace(/\n/g,'<br />').replace(/\[/g,'<').replace(/\]/g,'>');

definition += ("<div class=\"word\">");
definition += ("<h3>"+gWord+"</h3>");
definition += ("<div class=\"definition\">"+gDef+"</div>");
definition += ("</div>");

document.getElementById("showGlossary").innerHTML = definition;

【问题讨论】:

  • 如果您尝试:console.log(gDef); 完整的字符串是否出现在控制台中?
  • 类“定义”是什么样的?
  • 类“定义”看起来像这样:.definition { background: #FF9;边框:1px 实心#000;填充:5px; }
  • 酷,我不知道console.log。它看起来像这一行:gDef = (g[gI].getElementsByTagName("DEFINITION")[0].childNodes[0].nodeValue).replace(/\n/g,'
    ')。替换(/[/g,'');代码正在切割字符串
  • hmm...在玩了控制台之后...如果我删除上面一行中的所有 .replace() 以获得 (g[gI].getElementsByTagName("DEFINITION") [0].childNodes[0].nodeValue).replace(/\‌​n/g,'
    ');控制台显示所有字符都在那里。如果我在 IE8 中加载页面就可以了。如果我在 FireFox 9.0.1 中加载页面,字符串会像以前一样被剪切。也许这是 FireFox 中的一个错误?

标签: javascript


【解决方案1】:

您确定浏览器没有部分隐藏字符串吗? CSS 属性text-overflow 可能会导致这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多