Vue进阶(贰零叁):iframe嵌套页面IE不展示问题解决_iframe src 无效果

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

前端视频资料:

    hackReset: false
  }
},
updated () {
  this.hackReset = true
  this.$nextTick(() => {
    if (this.$refs.otherSysIFrame) {
      let iframeSrc = this.$route.params.url
      if (this.getClass(iframeSrc) === 'String' && iframeSrc.indexOf(window.location.host) > -1) {
        this.$refs.otherSysIFrame.contentWindow.location.href = iframeSrc
      }
    }
  })
},
watch: {
  $route: {
    handler () {
      this.hackReset = false
    }
  }
},
mounted () {
  this.hackReset = true
  window.addEventListener('message', event => {
    if (this.$refs.otherSysIFrame) {
      this.$refs.otherSysIFrame.contentWindow.postMessage(event.data, '\*')
      // IE
      if (this.getIEVersion() !== -1) {
        if (this.getClass(event.data) === 'String' && event.data.indexOf('URL_LINK') > -1) {
          let URL_LINK = JSON.parse(event.data).URL_LINK || ''
          if (URL_LINK && this.getClass(URL_LINK) === 'String') {
            let secondWindow = this.$refs.otherSysIFrame.contentWindow
            for (let i = 0; i < secondWindow.frames.length; i++) {
              secondWindow.frames[i].location.href = URL_LINK
            }
          }
        }
      }
    }
  })
}

}


**B系统:**



if (vm.KaTeX parse error: Expected 'EOF', got '&' at position 20: …e.query.source &̲& (vm.route.query.source === ‘castlm’ || vm.KaTeX parse error: Expected '}', got 'EOF' at end of input: …钮显示标识 if (vm.route.query.backBtnFlag === ‘backBtn’) {
vm.backBtnFlag = true
vm.display = true // 显示返回按钮
} else {
vm.display = false // 隐藏返回按钮
}
if (vm.$route.query.bustpid === ‘Main’) {
vm.iframeRefreshFlag = true
}

else if (vm.query.flag && vm.query.flag === ‘Exosystem’) {
vm.isExosystem = true
if (vm.query.bustpid) {
if (vm.query.bustpid === ‘Main’) {
vm.iframeRefreshFlag = true
}
vm.bustpid = vm.query.bustpid
}
body = {
tkiids: vm.query.tkiids, // 任务实例id
nodeid: vm.query.nodeid, // 当前环节
tpid: vm.query.tpid, // 模板ID
piids: vm.query.piids,
isEdit: vm.query.isEdit // 是否可编辑页面
}
}

mounted () {
// console.log(‘mounted!’)
// 挂载window.onresize事件
let _this = this // 复制Vue的this
_this.changeFrameSize()
window.onresize = () => {
_this.changeFrameSize()
}
// 应用定时器setInterval方法用于解决OFSM双层Iframe嵌套页签不显示问题,其中URL_LINK为获取的嵌套页面URL
if ((this.isOFSM || this.iframeRefreshFlag) && document.getElementById(‘iframe’)) {
var interval = setInterval(() => {
if (this.URL_LINK) {
let data = {
URL_LINK: this.URL_LINK // WFP标识
}
let newData = JSON.stringify(data)
window.parent.postMessage(newData, ‘*’)
// 务必及时清除定时器,否则会导致浏览器崩溃
clearInterval(interval)
}
}, 100)
}
// 处理任务进来后监听:用于外系统的Iframe内提交任务后返回待处理列表
if (this.query.flag === ‘WFP’ && this.query.isEdit === ‘1’) {
window.addEventListener(‘message’, this.listenerIframe)
}
},




### 最后

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在网页中嵌套使用iframe时,可能会遇到一些问题,如样式冲突、无法调整大小、页面加载速度慢等。下面介绍一些解决iframe嵌套页面问题的方法。 首先,针对样式冲突问题,可以使用CSS命名空间(CSS Namespaces)来解决。通过添加命名空间前缀,可以确保不同iframe中的元素样式不会相互冲突。这样可以避免样式被覆盖,保证每个iframe中的样式独立。 其次,针对调整iframe大小问题,可以使用JavaScript来动态调整iframe的大小。通过监听iframe内部内容的高度变化,并将高度值传递给父页面,从而实现自适应调整iframe的大小。这样可以确保iframe始终能够显示完整的内容,提高用户体验。 另外,针对页面加载速度慢的问题,可以通过延迟加载或者懒加载来提升性能。即在页面初次加载时,只加载展示iframe的占位符,并不加载真正的内容。当用户需要查看或者操作iframe时,再加载对应的内容。这样可以减少初次加载的数据量,提高页面加载速度。 此外,还可以考虑使用无需iframe的其他技术来实现类似的功能,如Ajax、Vue.js等。这些技术可以通过异步加载内容或者组件来避免使用iframe,从而减少了嵌套页面问题。 综上所述,处理iframe嵌套页面问题需要使用CSS命名空间、动态调整大小、延迟加载或懒加载等方法。同时也可以考虑使用其他技术来避免使用iframe带来的问题。通过采取这些方法,可以更好地解决iframe嵌套页面问题,提升用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值