未捕获的URIError:URI与reCAPTCHA格式不正确

时间:2015-12-08 08:19:48

标签: javascript iso-8859-1 recaptcha

在网址中包含已编码部分的某些网页上,例如%FC而不是ü,我在控制台中出现Uncaught URIError: URI malformed错误,因此验证码无效。

我们的项目是iso-8859-1编码的,我无法改变这一点。

您知道可以解决此问题的解决方法吗?我使用的是reCAPTCHA 2。

1 个答案:

答案 0 :(得分:1)

我现在的解决方案是,在recaptcha/api.js执行之前,我抓住window.location.pathname,摆脱有问题的元素,并在网址中用history.pushState进行交换。如果我只是更改window.location.pathname页面重定向将是后果。

这是我的示例代码:

var oldPath = window.location.pathname;
var newPath = decodeURIComponent( unescape( unescape(oldPath)));
var stateObj = {};
history.pushState(stateObj, "", newPath);