在Chrome与Firefox中设置为小写
ToLowerCase in Chrome vs Firefox
以下在 Firefox 中给出 0。但是,它在铬中给出-1。
var index = "İSTANBUL".toLowerCase().indexOf("is");
console.log(index);
https://jsfiddle.net/81f0yr8w/1/
Chrome 在小写 İ(拉丁大写字母 i 时放置一个额外的字符,"''u0130"上方有一个点)
"İ".toLocaleLowerCase().length
>2
这是正常行为吗?
您可以先对字符串进行编码,然后再进行比较。这将在Firefox和Chrome中产生相同的结果。
// 0 Chrome // 0 Firefox
encodeURIComponent("İSTANBUL".toLowerCase()).indexOf(encodeURIComponent("İS".toLowerCase()))
Firefox和Chrome以不同的方式处理它的事实很奇怪。但是 strange 是由 w3c 规范定义的:https://www.w3.org/TR/charmod-norm/#matchingAlgorithm fwiw,您必须先将字符串小写,然后再对其进行编码。除非它们首先是相同的情况,否则它们不会匹配。
找到了火狐浏览器错误并标记为[812837]的副本。(https://bugzilla.mozilla.org/show_bug.cgi?id=812837)它于2011年报道,目前仍在开放。所以我想这不是优先事项。
相关文章:
- chrome.storage.local.get 如何设置值
- Chrome:在第一行设置断点
- 无法在Chrome控制台中使用javascript将焦点和光标设置为输入文本
- 如何在AngularJS的上下文中使用Google Chrome Developer Tool在HTML代码中设置断点
- 在chrome中单击时设置SelectionRange不会在第二次单击时进行选择
- 像Advanced Rest Client这样的Chrome应用可以设置引荐来源网址标头,而网站则不能
- Chrome 扩展程序会等待设置加载到事件处理程序中
- Chrome扩展 chrome.storage 如何同时进行大量获取和设置并避免竞争条件
- Javascript链接-试图设置元素值-奇怪的行为chrome&安卓
- Chrome浏览器:未从响应标头设置cookie
- iframe.height(100);正在添加 chrome,并在火狐中设置
- 将对象设置为Chrome存储
- Chrome和Firefox不会取消设置会话数组,但IE和Safari会取消设置
- 内容脚本没有't支持chrome设置页面(网址:chrome://history/等等)
- Chrome 扩展程序 - 保存设置
- 如何以编程方式设置 chrome 和 Firefox 的主页
- 如何取消设置chrome.windows. onremoded . addlistener
- 如何设置Chrome应用's的最大宽度窄于最小化,最大化,关闭按钮的宽度
- 设置chrome扩展cookie值名称为var
- 如何设置chrome浏览器允许本地cookie ?——enable-file-cookies