好的,事情就是这样。我们的网站有一个书签,它可以在除 Safari 之外的所有主要浏览器中正常工作。我调查了一下,发现是因为两个原因:
- Safari 5.5 对任何 URL 都有 2347 个字符的限制。
- 它对 URI 进行编码。
我通过将变量和函数重命名为非常短的名称以及最小化 js.
对于问题 2,我决定将整个函数存储为字符串,对其进行 decodeURIComponent 解码,然后使用 eval 评估回函数然后执行它(我知道我不应该使用 eval 但我想不出其他解决方案) . 问题是 decodeURIComponent 返回“URIError:URI 错误”。但是,如果我在 Safari 的开发人员控制台中执行相同的代码,它会毫无问题地执行。
我已经黔驴技穷了。任何帮助将不胜感激。
提前致谢。