FrameLoadEnd与FrameLoadStart事件中e.Frame.Url是否可能存在差异?
FrameLoadStart与FrameLoadEnd事件中的Frame URL是否可能不一致?
是的,完全有可能出现两者不一致的情况,常见场景包括:
重定向操作:无论是服务器端重定向(如3xx状态码跳转)还是客户端重定向(如通过
location.href跳转),FrameLoadStart触发时记录的是初始请求的URL,而重定向完成后触发FrameLoadEnd时,Frame的URL会更新为最终跳转后的目标地址。客户端动态修改URL:页面加载过程中,通过
history.pushState()或history.replaceState()这类API修改地址栏URL,不会触发新的FrameLoadStart事件,但会直接改变当前Frame的URL值,导致FrameLoadEnd时获取的URL与初始FrameLoadStart的URL不同。框架内容动态替换:如果页面中的iframe在加载过程中被JavaScript动态替换了
src属性,或者内部框架的内容发生了二次跳转,也会导致两次事件获取的URL不一致。
内容的提问来源于stack exchange,提问作者user21781758
相关产品推荐
相关产品推荐

