解决 vue-router 内嵌 iframe,导致 go(n) 异常问题

问题描述

业务需求,需要内嵌 iframe 预览一些信息,选中某些,则替换 iframesrc。变更 2 次后,发现 go(-1)回退异常,变成 iframe 内容回退了。

复现链接:http://jsbin.com/hikorawipa/edit?html,output

问题关键就是:

  • 更改 iframesrc 超过两次,并加载完成

问题结果就是:

  • go(-1) 会先回退 iframe 的内容

解决方式

第一反应,这特么是 bug 啊,于是给 vue-router 提了个 issue
其实搜索发现,之前也有人提过,只是提的不规范直接被 closed
等了两天人家回复,这不是 bug ,这是浏览器特性使然...卧槽,好尴尬 = =|||

  • html:
    <iframe ref="iframe"></iframe>
    
  • js
    set(src) {
      this.$refs.iframe.contentWindow.location.replace(src)
    }
    

总结

感觉就是别人帮我解决了一个属于我项目的 bug,~~///(^v^)\~~

参考

—— 2017/12/04 By Live, cloudy.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容