【发布时间】:2012-11-18 04:44:18
【问题描述】:
我很好奇通过单击链接加载页面与将所述链接复制粘贴到浏览器栏中时,浏览器行为有何不同。我应该知道的加载过程是否存在一般差异?
我问是因为我正在使用 Google Maps API 开发一个应用程序,在该应用程序中,用户能够使用 URL 中定义的 GPS 位置创建自定义地图链接。将链接复制粘贴到浏览器时可以正常工作;但是,如果直接单击链接,浏览器会生成“超出堆栈”异常(适用于该站点!)。
虽然我知道通常我们喜欢在 Stack Overflow 上查看代码示例,但我现在要避免这样做 - 也许如果有人知道单击和复制粘贴之间 DOM 加载过程的差异,我可以使用这样可以缩小问题的范围,而不会使与切线相关的代码的讨论陷入困境。
同样的问题出现在 Firefox 和 Chrome 中。
谢谢!
【问题讨论】:
-
您处理问题的方式错误。与其要求列出两者之间的所有不同之处,不如询问如何解决您的具体问题不是更明智吗?谁确切地给你“超出堆栈”消息 - 两个不同的浏览器?这听起来真的不太可能。它是否以相同的方式发生在不同的机器上?我会说这似乎更有可能是服务器端问题,这是一个全新的领域。
-
“超过最大调用堆栈大小”- Chrome,“递归过多”- Firefox,都引用“main.js”- 似乎可能源于同一个问题
-
您说的很对,我需要更仔细地查看每个浏览器的具体错误是什么
-
这似乎是浏览器如何编码链接的问题 - 在 Firefox 中,(尽管不是 Chrome)URL 中的波浪号 (~) 被替换为 %7E,这会抛出 JS那就是解码URL。 Chrome没有显示任何替换,但是直接点击链接还是卡住
-
很公平,你是对的,毕竟这是客户端的事情。哇,没想到这是可能的!
标签: javascript google-maps dom browser load