javascript - 字 rune 字中的字符过多

标签 javascript

我正在使用 StringBuilder 添加一些脚本。脚本如下所示。

<script type='text/javascript'><!--    //<![CDATA[
    var m3_u = (location.protocol == 'https:' ? 'https://rre.rrt.com/sss.php' : 'https://rre.rrt.com/sss.php');
    var m3_r = Math.floor(Math.random() * 99965449);
    if (!document.MAX_used) document.MAX_used = ',';
    document.write("<scr" + "ipt type='text/javascript' src='" + m3_u);
    document.write("?zoneid=311120&amp;target=_top");
    document.write('&amp;cb=' + m3_r);
    if (document.MAX_used != ',') document.write("&amp;exclude=" + document.MAX_used);
    document.write(document.charset ? '&amp;charset=' + document.charset : (document.characterSet ? '&amp;charset=' + document.characterSet : ''));
    document.write("&amp;loc=" + escape(window.location));
    if (document.referrer) document.write("&amp;referer=" + escape(document.referrer));
    if (document.context) document.write("&context=" + escape(document.context));
    if (document.mmm_fo) document.write("&amp;mmm_fo=1");
    document.write("'><\/scr" + "ipt>");
//]]>-->
</script><noscript><a href='https://rre.rrt.com/sss.php?n=ad4565c1&amp;cb=2244' target='_top'><img src='https://rre.rrt.com/sss.php?zoneid=36540&amp;n=a535c1' border='0' alt='' /></a></noscript>

当我使用字符串生成器添加它时,它给出错误“字 rune 字中的字符太多”这就是我正在做的事情。怎么做?

sb.append(@"<script type='text/javascript'><!--    //<![CDATA[
    var m3_u = (location.protocol == 'https:' ? 'https://rre.rrt.com/sss.php' : 'https://rre.rrt.com/sss.php');
    var m3_r = Math.floor(Math.random() * 99965449);
    if (!document.MAX_used) document.MAX_used = ',';
    document.write("<scr" + "ipt type='text/javascript' src='" + m3_u);
    document.write("?zoneid=311120&amp;target=_top");
    document.write('&amp;cb=' + m3_r);
    if (document.MAX_used != ',') document.write("&amp;exclude=" + document.MAX_used);
    document.write(document.charset ? '&amp;charset=' + document.charset : (document.characterSet ? '&amp;charset=' + document.characterSet : ''));
    document.write("&amp;loc=" + escape(window.location));
    if (document.referrer) document.write("&amp;referer=" + escape(document.referrer));
    if (document.context) document.write("&context=" + escape(document.context));
    if (document.mmm_fo) document.write("&amp;mmm_fo=1");
    document.write("'><\/scr" + "ipt>");
//]]>-->
</script><noscript><a href='https://rre.rrt.com/sss.php?n=ad4565c1&amp;cb=2244' target='_top'><img src='https://rre.rrt.com/sss.php?zoneid=36540&amp;n=a535c1' border='0' alt='' /></a></noscript>

");

最佳答案

使用StringBuilder的全部目的是逐个部分构建字符串。如果您将长字符串分解为逻辑部分,那么您将更容易找出任何错误并进行修改(相信我,它会变得更容易阅读!)。 p>

此外,在 C# 中使用逐字字符串文字时,您仍然需要使用另一个双引号来转义双引号。以下代码可以正确编译:

sb.Append(@"<script type='text/javascript'>");
sb.Append(@"<!--    //<![CDATA[");
sb.Append(@"var m3_u = (location.protocol == 'https:' ? 'https://rre.rrt.com/sss.php' : 'https://rre.rrt.com/sss.php');");
sb.Append(@"var m3_r = Math.floor(Math.random() * 99965449);");
sb.Append(@"if (!document.MAX_used) document.MAX_used = ',';"");");
sb.Append(@"document.write(""<script type='text/javascript' src='"" + m3_u);");
sb.Append(@"document.write(""?zoneid=311120&amp;target=_top"");");
sb.Append(@"document.write('&amp;cb=' + m3_r);");
sb.Append(@"if (document.MAX_used != ',') document.write(""&amp;exclude="" + document.MAX_used);");
sb.Append(@"document.write(document.charset ? '&amp;charset=' + document.charset : ");
sb.Append(@"(document.characterSet ? '&amp;charset=' + document.characterSet : ''));");
sb.Append(@"document.write(""&amp;loc="" + escape(window.location));");
sb.Append(@"if (document.referrer) document.write(""&amp;referer="" + escape(document.referrer));");
sb.Append(@"if (document.context) document.write(""&context="" + escape(document.context));");
sb.Append(@"if (document.mmm_fo) document.write(""&amp;mmm_fo=1"");");
sb.Append(@"document.write(""'><\/script>"");");
sb.Append(@"//]]>-->");
sb.Append(@"</script>");
sb.Append(@"<noscript>");
sb.Append(@"<a href='https://rre.rrt.com/sss.php?n=ad4565c1&amp;cb=2244' target='_top'>");
sb.Append(@"<img src='https://rre.rrt.com/sss.php?zoneid=36540&amp;n=a535c1' border='0' alt='' /></a>");
sb.Append(@"</noscript>");

关于javascript - 字 rune 字中的字符过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/843108/

相关文章:

javascript - 推送到 dom-repeat 中使用的数据绑定(bind)数组( polymer )

javascript - 如何在带有图像的 setInterval 上设置带有 onmouseover 和 onmouseout 事件的 if else 函数?

javascript - URL更改时调用内容脚本

javascript - 如何使用JavaScript打开全屏

JavaScript 返回数组长度为 0,但在控制台中长度正确

javascript - 使用异步库等待队列中的所有任务完成以返回值

Javascript RegEx 使用全局修饰符产生不寻常的结果

javascript - 多次填写同一表单字段的内容并将其写入数据库的多行中

javascript - 创建一个随机数组来比较西蒙说游戏中的用户数组和闪烁

javascript - 从复制/粘贴中排除 HTML ruby​​ 标签