在Safari中,当
所有其他浏览器都不受此问题影响。只有Webkit。 这是fiddle以查看错误:https://jsfiddle.net/j1sxxLwy/ 在Chrome中,它将达到100,但请在Safari中运行它。
replaceState
被调用超过100次时,会抛出以下错误:
更多信息:https://forums.developer.apple.com/thread/36650 我的问题是,在某些特定条件下,当用户滚动时我会更改URL(使用SecurityError: DOM Exception 18:试图突破用户代理的安全策略。
$(window).scroll(function() {...
)。正如您所猜测的那样,我在不到2秒钟的时间内就达到了100的限制。
history.replaceState({}, '', newStringWithURLToUpdateInClientBrowser);
是否有任何解决此问题的方法?现有的允许管理history
的库能否解决此问题?所有其他浏览器都不受此问题影响。只有Webkit。 这是fiddle以查看错误:https://jsfiddle.net/j1sxxLwy/ 在Chrome中,它将达到100,但请在Safari中运行它。