我正在写一个Greasemonkey脚本。我需要比较两个字符串,其中一个字符串等于document.location.href
。
如果document.location.href
等于"http://lema.rae.es/drae/?val=ñáñara"
,那么我需要做一些额外的事情,但我无法确定两个字符串是否相等,因为document.location.href
被转换为另一个字符集。这是一个例子:
var currentLocation = document.location.href.toString();
var targetLocation = 'http://lema.rae.es/drae/?val=ñáñara';
alert(currentLocation + '\n' + targetLocation);
/* OUTPUT:
http://lema.rae.es/drae/?val=%C3%B1%C3%A1%C3%B1ara
http://lema.rae.es/drae/?val=ñáñara
*/
如何将两个字符串转换为相同的字符集?
答案 0 :(得分:3)
只需使用:
var url = decodeURI(window.location.href);
应该够了。
请参阅:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/decodeURI
答案 1 :(得分:1)
或反过来:encodeURI("http://lema.rae.es/drae/?val=ñáñara")