目录
- vue嵌入本地iframe并获取某元素的值
- vue使用iframe并获得其dom
vue嵌入本地iframe并获取某元素的值
当我们需要在vue中使用其他模块或者其他地方的一些html页面功能时,我们可以使用iframe去引用html页面
首先我们可以再vue页面中使用标签引用html页面
<template> <div> <iframe name="iframe" id="iframe" width="100%" height="470px" v-bind:src="https://www.freexyz.cn/dev/HtmlPath" frameborder="0" scrolling="no" ref="iframeDom" ></iframe> </div> </template>
htmlpath 是本地文件的地址,这边建议放在项目根目录Public下,否则存在一定几率显示空白

之后再父页面vue里methods写方法
callchild(){
let obj1=window.frames["iframe"];//获得对应iframe的window对象
obj1.fn() //执行iframe 里的方法
console.log(obj1.document.getElementById().value) //获取iframe里定义id元素的值
}
vue使用iframe并获得其dom
在vue组件中获取iframe的dom
在获取dom之前需要先确定iframe是否加载完成
<iframe id="displayPdfIframe" :src="https://www.freexyz.cn/dev/pdfUrl" width="100%" ref="pdfframe"></iframe>
$('#displayPdfIframe').on("load",function(){
vm.iframeWin = vm.$refs.pdfframe.contentWindow
console.log(vm.iframeWin)
})
当访问iframe的window时,需要区分当前组件的windows和iframe的windows,所以需要在windows前添加上诉代码中获取的vm.iframeWin
/*获取iframe中class为textLayer的div*/
this.textlayer = that.iframeWin.$('.textLayer')
/*获取鼠标在此iframe中的选中的文字*/
var selection_text = this.iframeWin.window.getSelection().toString();
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)