vue 中引入iframe,动态设置其src,遇到的一些小问题总结
1.重置其样式,去掉外框以及滚动条等
<iframe
id="myIframe"
ref="iframe_a"
:src="mySrc"
width="100%"
height="100%"
frameborder="no"
border="0"
marginwidth="0"
marginheight="0"
scrolling="no"
allowtransparency="yes"
/>
2.在mounted里也找不到iframe 的dom元素,于是用了很笨的办法去处理,希望路过的大佬可以指点一下,有好的办法教教我好吗??
export default {
data() {
return {
mySrc: '',
loading: true, // 如果正在加载,就会盖住展示内容
timer: null, // 第1个定时器
timer1: null // 第2个定时器
}
},
mounted() {
if (this.$refs && this.$refs['iframe_a']) {
this.setLoading(this.$refs['iframe_a'])
} else {
// console.log('延时加载第一次')
clearTimeout(this.timer1)
this.timer1 = setTimeout(() => {
this.setLoading(this.$refs['iframe_a'])
}, 500)
}
},
destroyed() {
this.timer = null
this.timer1 = null
},
methods: {
// 补坑函数1
setLoading(iframeDom) {
if (iframeDom) {
// console.log('找到元素了,执行iframeDom.onload')
const iframeD = document.getElementById('myIframeWebgl')
iframeD.onload = () => {
// console.log('加载完了-----------')
this.loading = false
}
iframeD.src = this.setRoute()
} else {
this.setTim()
}
},
// 补坑函数2
setTim() {
const iframeD = document.getElementById('myIframe')
clearTimeout(this.timer)
this.timer = setTimeout(() => {
// console.log('延时加载第----次')
this.setLoading(iframeD)
}, 200);
},
}
}
3.在此之前,加载完成的onload事件有时候不会触发,点击页面有时候没有反应,地址改了但是页面没有变动,于是解决如下:
问题在于: iframe的绑定地址的代码一定要放在onload下面,要不然就完了
如果使用原生来写,大概这样子
let myIframeDiv= document.querySelector('#myIframeDiv')
let iframe = document.createElement('iframe')
iframe.onload = () => {
console.log('这样子就没问题了')
}
iframe.src = this.src // 就是这一行代码,一定要注意哦
myIframeDiv.appendChild(iframe)
vue 中引入iframe,动态设置其src,遇到的一些小问题总结的更多相关文章
- vue中引入mintui、vux重构简单的APP项目
最近在学习vue时也了解到一些常用的UI组件,有用于PC的和用于移动端的.用于PC的有:Element(饿了么).iView等:用于移动端APP的有Vux.Mint UI(饿了么).Vant(有赞团队 ...
- 获取iframe子页面内容高度给iframe动态设置高度
<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <meta nam ...
- 【原创】如何在Android中为TextView动态设置drawableLeft等
如何在Android中为TextView动态设置drawableLeft等 两种方式: 方式1:手动设置固有边界 Drawable drawable = getResources().getD ...
- vue中引入babel步骤
vue中引入babel步骤 vue项目中普遍使用es6语法,但有时我们的项目需要兼容低版本浏览器,这时就需要引入babel插件,将es6转成es5. 1.安装babel-polyfill插件 npm ...
- vue中引入json数据,不用本地请求
1.我的项目结构,需要在Daily.vue中引入daily.js中的json数据 2.把json数据放入一个js文件中,用exports导出,vscode的json格式太严格了,很多数据,调了一个多小 ...
- vue中引入mui报Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them的错误
在vue中引入mui的js文件的时候,报如下的错误: 那是因为我们在用webpack打包项目时默认的是严格模式,我们把严格模式去掉就ok了 第一步:npm install babel-plugin-t ...
- vue中引入js,然后new js里的方法
阿里云Web播放器Web端使用SDK说明:https://help.aliyun.com/document_detail/51991.html?spm=5176.11065259.1996646101 ...
- vue中引入百度统计
vue作为单页面的,引入百度统计,需要注意不少. 一.基本的流量统计 在index.html 入口文件中引入百度统计生成的一连串代码: var _hmt = _hmt || []; (function ...
- vue中引入.svg图标,使用iconfont图标库
阿里巴巴的iconfont是一个很好的图标库,海量的素材可以快速满足开发人员日常对图标的诉求,我们采用symbol引用,官方介绍 创建SvgIcon组件 <template> <sv ...
- vue中引入swiper(vue中的滑块组件vue-awesome-swiper)
第一步安装 npm install vue-awesome-swiper --save 第二部在main.js中引入 import VueAwesomeSwiper from 'vue-awesome ...
随机推荐
- HDFS基础学习
HDFS简介 HDFS即Hadoop Distributed File System,是一个分布式文件系统,用于存储海量数据.一个HDFS集群由一个NameNode和多个DataNode组成. HDF ...
- Ignite实战
1.概述 本篇博客将对Ignite的基础环境.集群快照.分布式计算.SQL查询与处理.机器学习等内容进行介绍. 2.内容 2.1 什么是Ignite? 在学习Ignite之前,我们先来了解一下什么是I ...
- JK触发器与模12计数器
JK触发器 JK触发器具有保持,置0,置1和翻转四个功能. 则可得出次态方程:\(Q_{n+1} = JQ_n'+K'Q_n\) Design `timescale 1ns / 1ps module ...
- 【lwip】11-UDP协议&源码分析
目录 前言 11.1 传输层说明 11.2 UDP协议简介 11.3 UDP特点 11.4 UDP端口号 11.5 UDP报文 11.6 UDP伪首部和校验和 11.7 wireshark报文分析 1 ...
- 渗透技巧基于Swagger-UI的XSS
目录 免责声明: 漏洞简述: 漏洞实现 POC 漏洞利用 如何大规模找到 Swagger UI Google FOFA XRAY 修复 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互 ...
- PGL图学习之图神经网络GraphSAGE、GIN图采样算法[系列七]
0. PGL图学习之图神经网络GraphSAGE.GIN图采样算法[系列七] 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/50619 ...
- C#winform使用NOPI读取Excel读取图片
需求:在Winform使用NOPI做导入时候,需要导入数据的同时导入图片. 虽然代码方面不适用(我好像也没仔细看过代码),但是感谢大佬给了灵感http://www.wjhsh.net/IT-Ramon ...
- Axios +Vue + themeleay
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- day13 I/O流——字节输入输出流、字符输入输出流 & File常用类 & (字节)复制大文件
day13 I/O流 定义:数据在两设备传输称为流,流是一组有顺序的,有起点和终点的字节集合 I 是input的缩写,表示输入流 O是output缩写,表示输出流 字节流(视频等) 输入InputSt ...
- 数电第11周周结_by_yc
Lab7_时序逻辑验证 一.简易电子时钟 功能描述: 设计一简易电子时钟,支持时.分.秒显示,其中HEX7-HEX6显示时,HEX5-HEX4显示分,HEX1-HEX0显示秒,假设进制为:18秒= ...