html代码
js代码
输出是http://localhost:8080/
直接靠双向绑定src1也赋值不了
应该怎么改才可以让src动态赋值呢?
html代码
js代码
输出是http://localhost:8080/
直接靠双向绑定src1也赋值不了
应该怎么改才可以让src动态赋值呢?
可以类似这样:
/**
* 动态创建iframe
* @param dom 创建iframe的容器,即在dom中创建iframe。dom能够是div、span或者其它标签。
* @param src iframe中打开的网页路径
* @param onload iframe载入完后触发该事件。能够为空
* @return 返回创建的iframe对象
*/
createIframe(dom, src, onload) {
//在document中创建iframe
var iframe = document.createElement("iframe");
//设置iframe的样式
iframe.style.width = "100%";
iframe.style.height = "100%";
iframe.style.margin = "0";
iframe.style.padding = "0";
iframe.style.overflow = "hidden";
iframe.style.border = "none";
//绑定iframe的onload事件,处理事件的兼容问题
if (
onload &&
Object.prototype.toString.call(onload) === "[object Function]"
) {
if (iframe.attachEvent) {
iframe.attachEvent("onload", onload);
} else if (iframe.addEventListener) {
iframe.addEventListener("load", onload);
} else {
iframe.onload = onload;
}
}
iframe.src = src;
//把iframe载入到dom以下
dom.appendChild(iframe);
return iframe;
},
双向绑定需要data里面声明
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<iframe :src='src1' width="100%" height="300"></iframe>
</div>
<script>
new Vue({
el: '#app',
data: {
src1:'https://www.baidu.com'
},
mounted(){
this.src1='https://segmentfault.com';
}
})
</script>
</body>
</html>
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
在iframe上加个v-if,利用一个状态来控制iframe的渲染