chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答
记一次需求完成的经过,要获取iframe中的元素,然后在页面进行分段跳转和相关操作,途中遇到了几个问题,方便后续自我回忆。
问题一 chrome扩展开发中 Popup页面无法持续保持的问题 【未解决】
这个需求感觉真的很广泛,即每次的Popup页面会随着失去焦点而关闭,再次打开后页面会回到初始页面,无法在页面中记录一些数据后失去焦点依然保持配置或选项。
查询了很多相关资料,有说监听Popup失去焦点事件的,有说直接让焦点事件不关闭的。目前该问题依然未能解决。后续通过网页中写视窗定位(position:fixed)的窗体加载元素来实现了界面构造。
问题二 chrome扩展开发中 iframe中的元素无法获取的问题
通过直接$(‘selector’) 的方式无法直接获得iframe中的元素
需要先根据ID 或者其他属性来获得对应iframe元素
var pdf_obj = document.getElementById('1').contentWindow.document.getElementById('pdf-viewer')
然后将该对象转换为jquery 对象 js和jq的互转方式如下
$('js_obj') // 通过用$()包裹直接将js转换为jq
$('selector')[0] // 通过0下标直接转换为js对象
转换为jq对象后 即可进行scroll(), keydown()等事件的绑定和执行
问题三 有一些iframe中的元素一开始是没有加载好的,无法获取
这个问题需要等待加载完成后才能进行相关操作,通过设置定时器(interval)进行轮询获取。获取成功后,删除定时器。
var ele_check_timer = setInterval(function(){var pdf_obj = document.getElementById('1').contentWindow.document.getElementById('pdf-viewer');if (pdf_obj){ cleanInterval(ele_check_timer);do something; }}, 3000});
问题四 每次需要在chrome扩展文件夹中进行代码调试很麻烦
可以在谷歌浏览器中直接调试代码,按下f12后进入console即可输入代码进行调试。
省去了来回切换。一般网站中都内置了有jquery 如果没有Jquery可以尝试从其他网站中包含过来。
有些网站仅支持指定域名 可以尝试使用百度的cdn 原出处 @山岚_
;(function(d,s){d.body.appendChild(s=d.createElement('script')).src='https://libs.baidu.com/jquery/2.0.0/jquery.min.js'})(document);
问题五 控制台console操作正确但是就是不能获得元素?
有时候不小心因为其他的操作改变了当前页面后(即从top到了index或者其他页面)会一直无法获取元素,将如下位置设置回到到TOP即可。
问题六 轮询获取标签中 会有错误提示 如何让错误不显示?【未解决】
查询到可以通过 try语法来检测错误 但是使用后控制台没有错误提示,chrome开发中心依然一直有错误提示,没有找到问题的根源。
chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答相关推荐
- Chrome扩展开发指南
前言 Chrome 扩展(通常也叫插件)也是软件程序,使用 Web(HTML, CSS, and JavaScript)技术栈开发.允许用户自定义 Chrome 浏览体验.开发者可以通过增加特效或功能 ...
- chrome扩展开发(2)- manifest.json文件简述
一.本文目标 结合具体应用场景,让读者对manifest.json文件的写法和主要属性拥有初步认识. 二.目标读者 chrome扩展开发的初学者,想要先从宏观上了解一下chrome扩展能干哪些事情,而 ...
- Chrome扩展开发基础教程(附HelloWorld)
1 概述 Chrome扩展开发的基础教程,代码基于原生JS+H5,教程内容基于谷歌扩展开发官方文档. 2 环境 Chrome 88.0.4324.96 Chromium 87.0.4280.141 B ...
- chrome扩展开发介绍和右键开发
chrome扩展开发 chrome扩展中文文档官网 Chrome浏览器在全球都拥有可观的忠实用户,抛去其占据了浏览器市场的霸主地位不说,其具备了众多的优点,如良好的用户体验,简单的开发规范等等. 归纳 ...
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:win ...
- 获取父窗口元素或者获取iframe中的元素(相同域名下)
jquery方法 在父窗口中获取iframe中的元素 //方法1 $("#iframe的ID").contents().find("iframe中的元素");/ ...
- 用JS访问iframe中的元素
用JS访问iframe中的元素 1.首先,如何访问iframe中的元素?见如下代码: (1)1.htm源码: <input type=button value="test" ...
- java selenium iframe_java selenium处理Iframe中的元素示例
java selenium 处理Iframe 中的元素 有时候我们定位元素的时候,发现怎么都定位不了. 这时候你需要查一查你要定位的元素是否在iframe里面 阅读目录 什么是iframe ifra ...
- js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...
用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...
最新文章
- 绩效考核如何才能突破上司的主观偏见局限?
- 噪声dba是什么单位_在职DBA : 工作多年为什么还是选择报读工商管理博士
- sox+linux查录音格式,linux-使用SOX和sox FAIL格式混合音频:无法打开输入文件`audio_recorded.wav’:WAVE:找不到RIFF标头...
- 弱口令扫描工具mysql ftp_基于端口的弱口令检测工具--iscan
- 计算机能做什么英语对话,计算机英语会话∣实用电脑英语
- Face++的技术面经历
- Windows Terminal 0.9 发布
- Vue中的scoped和scoped穿透
- html去除radio的样式,【HTML+CSS】纯CSS设置checkbox大小和样式 附Radio的去除默认样式和自定义样式...
- Facebook对memcached的提升
- SmartBear继SoapUI Pro 5 2之后推出新版本改名SoapUI NG Pro
- 如何使用SPSS进行判别分析
- UG二次开发 获得文档存盘历史
- 如何自定义快捷方式图标为自己的图片(保姆级教程)
- OpenCV-Python实现有参照物条件下的长方形物体尺寸推算(可实时、附源码)
- Process Hacker 简单介绍
- U盘文件全变快捷方式解决办法
- Mac 取消系统更新的红点——强迫症晚期患者
- 阿里音乐流行趋势预测大赛一起做-(6)小结
- 电脑安装Win10 + Linux 双系统