相关疑难解决方法(0)

解码其中包含特殊HTML实体的字符串的正确方法是什么?

假设我从服务请求中获得了一些JSON,如下所示:

{
    "message": "We're unable to complete your request at this time."
}
Run Code Online (Sandbox Code Playgroud)

我不确定为什么那个抄袭被编码为那个('); 我所知道的是我想解码它.

这是一种使用jQuery的方法,它突然出现在我脑海中:

function decodeHtml(html) {
    return $('<div>').html(html).text();
}
Run Code Online (Sandbox Code Playgroud)

但这似乎(非常)hacky.什么是更好的方式?有"正确"的方式吗?

javascript jquery html-entities

184
推荐指数
6
解决办法
20万
查看次数

在Javascript中将特殊字符转换为HTML

是否有任何人知道如何特殊字符转换为HTMLJavascript

例:

  • &(&符号)变成了&amp.
  • "(双引号)成为&quotENT_NOQUOTES未设置.
  • '(单引号)&#039仅在ENT_QUOTES设置时才变为.
  • <(小于)成为&lt.
  • >(大于)成为&gt.

javascript

112
推荐指数
10
解决办法
32万
查看次数

为什么array.push有时比array [n] = value更快?

作为测试一些代码的副作用,我编写了一个小函数来比较使用array.push方法与直接寻址(array [n] = value)的速度.令我惊讶的是,推送方法通常表现得更快,特别是在Firefox中,有时在Chrome中.只是出于好奇:任何人都有解释吗?您可以在此页面找到测试(单击"数组方法比较")

javascript browser arrays performance firefox

69
推荐指数
4
解决办法
3万
查看次数

在javascript中编码html实体

我在CMS中工作,允许用户输入内容.问题是,当他们添加符号时®,它可能无法在所有浏览器中良好显示.我想设置一个必须搜索的符号列表,然后转换为相应的html实体.例如

®=> &reg;
&=> &amp;
©=> &copy;
™=>&trade;

转换后,需要将其包装在<sup>标记中,从而产生以下结果:

® => <sup>&reg;</sup>

因为特定的字体大小和填充样式是必要的:

sup { font-size: 0.6em; padding-top: 0.2em; }

JavaScript会是这样的吗?

var regs = document.querySelectorAll('®');
  for ( var i = 0, l = imgs.length; i < l; ++i ) {
  var [?] = regs[i];
  var [?] = document.createElement('sup');
  img.parentNode.insertBefore([?]);
  div.appendChild([?]);
}
Run Code Online (Sandbox Code Playgroud)

"[?]"表示有些东西我不确定.

额外细节:

  • 我想用纯JavaScript做到这一点,而不是需要像jQuery这样的库,谢谢.
  • 后端是Ruby
  • 使用使用Ruby on Rails构建的RefineryCMS

html javascript

68
推荐指数
10
解决办法
16万
查看次数

原生JavaScript或ES6编码和解码HTML实体的方式?

是否有使用JavaScript或ES6 编码或解码HTML实体的本机方法?例如,<将被编码为&lt;.有像html-entitiesNode.js这样的库,但感觉应该有一些内置于JavaScript中的东西已经处理了这个常见的需求.

javascript html-entities node.js

14
推荐指数
3
解决办法
1万
查看次数

是否可以为新的FormData(XHR2)对象或变通方法设置accept-charset

这是示例代码(http://jsfiddle.net/epsSZ/1/):

HTML:

<form enctype="multipart/form-data" action="/echo/html" method="post" name="fileinfo" accept-charset="windows-1251">
  <label>Label:</label>
  <input type="text" name="label" size="12" maxlength="32" value="får løbende" /><br />
  <input type="submit" value="Send standart">
</form>
<button onclick="sendForm()">Send ajax!</button>
Run Code Online (Sandbox Code Playgroud)

JS:

window.sendForm = function() {
  var oOutput = document.getElementById("output"),
     oData = new FormData(document.forms.namedItem("fileinfo"));
  var oReq = new XMLHttpRequest();
  oReq.open("POST", "/echo/html", true);
  oReq.send(oData);
}
Run Code Online (Sandbox Code Playgroud)

当我通过标准格式提交提交这种旧方式时,请求有效负载如下所示:

------WebKitFormBoundary2890GbzEKCmB08rz
Content-Disposition: form-data; name="label"

f&#229;r l&#248;bende
Run Code Online (Sandbox Code Playgroud)

但是当我提交这种AJAX方式时,它看起来有点不同:

------WebKitFormBoundaryPO2mPRFKj3zsKVM5
Content-Disposition: form-data; name="label"

får løbende
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,在前一种情况下有一些字符被字符实体替换,但是在使用的情况下FormData有普通的字符串,这当然很好,因为它是utf-8,但是有没有可能使它表现得像标准表格提交?

javascript ajax form-data character-encoding xmlhttprequest-level2

8
推荐指数
1
解决办法
8558
查看次数

JavaScript htmlentities法语

我有一个.NET MVC页面,其中包含每个都有<%: %>编码描述的项目列表 rel.我希望能够搜索rel包含我的搜索查询的所有项目.

其中一个字段具有htmlentities的值 rel='D&eacute;coration'

我在搜索框中输入"Décoration",让jQuery搜索具有'rel'属性的所有元素,其中包含(indexOf!= -1)该值:

没有结果!

为什么?因为Décoration != D&eacute;coration.

比较这两者的最佳解决方案是什么?(必须为所有特殊重音字符工作,而不仅仅是&eacute;)

PS(我尝试了逃避/ unescape双方,也尝试将其附加到div然后将其作为文本阅读,这取代了危险的东西,但不替换é(它没有必要因为它在utf-8无论如何))

.net javascript unicode model-view-controller jquery

6
推荐指数
1
解决办法
341
查看次数

Javascript转换法语特殊字符

在我的MVC 3应用程序中,我有几个带有消息字符串的resx文件,例如:"Editer groupe détails".所有这些都用于窗口标题或确认/警报消息.因此,为了能够在我的各种.js文件中使用它们,我在我的母版页中创建了一个名为localizedRessources的Javascript对象.问题是字符串在此对象中被更改,例如,上面提到的字符串变为"Editer groupe d&#233;tails".

我有什么选择?是否有一个特殊的函数告诉JS不要编码这些?有没有办法直接使用我的.js文件中的字符串?(顺便说一句,这在某些情况下有效,但我宁愿在我的cshtml文件中没有太多的js代码).

我为所有页面都<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">添加了标签<head>,所以我很好.任何建议都是受欢迎的.

javascript unicode-string asp.net-mvc-3

5
推荐指数
1
解决办法
2308
查看次数

货币列表与货币符号和本国语言的货币名称

我有这个货币清单(来自https://openexchangerates.org)

{"AED":3.6729,"AFN":57.82755,"ALL":103.465001,"AMD":414.905,"ANG":1.787,"AOA":97.659999,"ARS":8.131418,"AUD":1.065732,"AWG":1.79,"AZN":0.7839,"BAM":1.445344,"BBD":2,"BDT":77.618221,"BGN":1.44457,"BHD":0.376997,"BIF":1553.3484,"BMD":1,"BND":1.25077,"BOB":6.90997,"BRL":2.2253,"BSD":1,"BTC":0.0016610606,"BTN":60.00055,"BWP":8.865137,"BYR":10173.333333,"BZD":1.99474,"CAD":1.087393,"CDF":926.513333,"CHF":0.899613,"CLF":0.0232,"CLP":556.539996,"CNY":6.210708,"COP":1880.283333,"CRC":556.712998,"CUP":0.9999,"CVE":81.0433,"CZK":20.26093,"DJF":178.380299,"DKK":5.507907,"DOP":43.27396,"DZD":79.3989,"EEK":11.68855,"EGP":7.150895,"ERN":14.952575,"ETB":19.57954,"EUR":0.738639,"FJD":1.825871,"FKP":0.589387,"GBP":0.589387,"GEL":1.76713,"GHS":3.09659,"GIP":0.589387,"GMD":39.6,"GNF":6961.666667,"GTQ":7.81589,"GYD":204.983752,"HKD":7.751421,"HNL":20.82528,"HRK":5.59851,"HTG":45.02112,"HUF":227.0625,"IDR":11812.583333,"ILS":3.458559,"INR":60.06054,"IQD":1177.766717,"IRR":25566,"ISK":114.098,"JEP":0.589387,"JMD":111.226,"JOD":0.70829,"JPY":101.8811,"KES":87.971741,"KGS":51.94185,"KHR":4041.333333,"KMF":363.47686,"KPW":900,"KRW":1019.49,"KWD":0.282206,"KYD":0.826662,"KZT":183.533001,"LAK":8052.216667,"LBP":1511.808333,"LKR":130.250001,"LRD":89.001533,"LSL":10.70319,"LTL":2.5504,"LVL":0.518188,"LYD":1.2312,"MAD":8.27075,"MDL":13.90944,"MGA":2410.6,"MKD":45.37356,"MMK":970.664,"MNT":1823.17334,"MOP":7.98312,"MRO":290.925,"MTL":0.683738,"MUR":30.34428,"MVR":15.45622,"MWK":394.397,"MXN":13.03642,"MYR":3.2241,"MZN":31.50475,"NAD":10.70799,"NGN":163.182999,"NIO":25.87152,"NOK":5.997004,"NPR":96.1525,"NZD":1.152707,"OMR":0.384962,"PAB":1,"PEN":2.7912,"PGK":2.448173,"PHP":43.90592,"PKR":98.54584,"PLN":3.057794,"PYG":4412.258268,"QAR":3.64089,"RON":3.24691,"RSD":85.24262,"RUB":34.58522,"RWF":682.30402,"SAR":3.75081,"SBD":7.2208,"SCR":12.25984,"SDG":5.694417,"SEK":6.645576,"SGD":1.25099,"SHP":0.589387,"SLL":4335,"SOS":936.00202,"SRD":3.308567,"STD":18107.5,"SVC":8.74892,"SYP":149.324999,"SZL":10.73045,"THB":32.35748,"TJS":4.923975,"TMT":2.85,"TND":1.66316,"TOP":1.854405,"TRY":2.135726,"TTD":6.43465,"TWD":30.02066,"TZS":1685.116667,"UAH":11.8597,"UGX":2569.95,"USD":1,"UYU":22.98366,"UZS":2305.953311,"VEF":6.292275,"VND":21206,"VUV":94.252501,"WST":2.298934,"XAF":484.799008,"XAG":0.05081723,"XAU":0.00078076,"XCD":2.70158,"XDR":0.649354,"XOF":485.16402,"XPF":88.20458,"YER":214.986999,"ZAR":10.71995,"ZMK":5252.024745,"ZMW":6.284713,"ZWL":322.355006}
Run Code Online (Sandbox Code Playgroud)

并知道我想为每种货币添加正确的货币符号和货币名称(使用本地语言).

有没有人知道这样的货币符号列表

  • USD =' &#36;';
  • EUR =' &#8364;';
  • GBP =' &#163;';

我不确定,每种货币都存在"HTML编码(数字)"的标志吗?

(通常)是否可以将本机货币名称存储在普通的JS对象中?

提前致谢.

native currency sign lang

3
推荐指数
1
解决办法
3389
查看次数

在 HTML 中使用德语字符(例如 Umlaut)

我正在尝试在 html 中对德语字符进行编码。我只想使用特殊字符代码。对于变音符号,我尝试同时使用&Uuml;&#220;,但两者都没有正确渲染。我究竟做错了什么?谢谢。

这是针对 Squarespace 网站的,我将 Javascript 插入到他们的代码注入页面的页脚中。我正在使用 Javascript 在页面上写一个德语单词。我的代码的相关部分如下所示。问题是,这只是在页面上呈现“& U uml;ber”(我添加的空格,因为变音符号在没有它的情况下可以在 Stack Overflow 上正确呈现),而不是带有变音符号的 Uber。谢谢!

 var strings = {
          'About': {
            'de': '&Uuml;ber'
          },
Run Code Online (Sandbox Code Playgroud)

html javascript character-encoding squarespace

2
推荐指数
1
解决办法
6691
查看次数