0

我正在写一个 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
*/

如何将两个字符串转换为相同的字符集?

4

2 回答 2

3

只需使用:

var url = decodeURI(window.location.href);

应该够了。

请参阅:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/decodeURI

于 2013-02-19T16:13:15.383 回答
1

或者反过来:encodeURI("http://lema.rae.es/drae/?val=ñáñara")

于 2013-02-19T16:14:23.340 回答