工作小问题记录
1,变换iframe的src导致的browser history增加了
一个h5页面,被嵌入到app的webview中。这个页面中包含一个iframe用来加载视频地址。后续会根据情况多次改变这个iframe的src来切换视频。发现如此这般,点击‘后退’就会后退到iframe为上个src的当前页面,而不是后退到这个h5页面之前。原因就是每次改变iframe的src就增加了一次browser history。在网上查了下,说是只有用这种方式:
window.frames['ifrmId'].location.replace(url);
才能避免增加browser history,测试发现在ios上能行(typeof window.frames['ifrmId'].location == 'object'),在Android上直接导致无法切换视频(typeof window.frames['ifrmId'].location == 'string')。
换一种方法:因为只要是先加载iframe节点,然后再改变src就会增加histroy,为避免这种现象就改成先设置好src再append iframe节点,切换时先remove iframe节点,设置好src再append iframe节点。