【发布时间】:2015-12-08 08:19:47
【问题描述】:
在某些 URL 中有编码部分的页面上,例如 %FC 而不是 ü,我在控制台中收到 Uncaught URIError: URI malformed 错误,因此验证码无法正常工作。
我们的项目是iso-8859-1 编码的,对此我无能为力。
您知道可以解决此问题的解决方法吗?我正在使用 reCAPTCHA 2。
【问题讨论】:
标签: javascript iso-8859-1 recaptcha
在某些 URL 中有编码部分的页面上,例如 %FC 而不是 ü,我在控制台中收到 Uncaught URIError: URI malformed 错误,因此验证码无法正常工作。
我们的项目是iso-8859-1 编码的,对此我无能为力。
您知道可以解决此问题的解决方法吗?我正在使用 reCAPTCHA 2。
【问题讨论】:
标签: javascript iso-8859-1 recaptcha
我现在的解决方案是,在执行recaptcha/api.js 之前,我抓住window.location.pathname,去掉有问题的元素并在url 中将其与history.pushState 交换。如果我只是更改window.location.pathname 页面重定向将是结果。
这是我的示例代码:
var oldPath = window.location.pathname;
var newPath = decodeURIComponent( unescape( unescape(oldPath)));
var stateObj = {};
history.pushState(stateObj, "", newPath);
【讨论】: