当前位置 : 主页 > 网络编程 > JavaScript >

vue嵌入本地iframe文件并获取某元素的值方式

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 vue嵌入本地iframe并获取某元素的值 vue使用iframe并获得其dom vue嵌入本地iframe并获取某元素的值 当我们需要在vue中使用其他模块或者其他地方的一些html页面功能时,我们可以使用i
目录
  • 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="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="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();

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。

上一篇:绘制flowable 流程图的Vue 库使用详解
下一篇:没有了
网友评论