记一次需求完成的经过,要获取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开发中心依然一直有错误提示,没有找到问题的根源。
记一次需求完成的经过,要获取iframe中的元素,然后在页面进行分段跳转和相关操作,途中遇到了几个问题,方便后续自我回忆。问题一 chrome扩展开发中 Popup页面无法持续保持的问题 【未解决】这个需求感觉真的很广泛,即每次的Popup页面会随着失去焦点而关闭,再次打开后页面会回到初始页面,无法在页面中记录一些数据后失去焦点依然保持配置或选项。查询了很多相关资料,有说监听Popup失去焦点事件的,有说直接让焦点事件不关闭的。目前该问题依然未能解决。后续通过网页中写视窗定位(positi.
$ npm install -g vue-cli
# create a new project using the template
$ vue init YuraDev/vue-
chrome
-extension-template my-project
# install dependencies and go!
$ cd my-project
$ npm install # or yarn
$ npm run dev # or yarn dev
:脚本的后台工作
在网页上下文
中
运行
它可以添加新的UI面板和侧边栏,与检查的页面进行交互,获取有关网络请求的信息等等。
为了允许用户自定义
扩展
程序的行为,您可能希望提供一个选项页面。
弹出窗口-单击图标时将显示的页面(窗口)
标签-您的应用程序将在单独的标签
中
运行
ext-共享脚本
应用程序的说明,其权利和
对
iframe
的优缺点及应用场景的一点小结
浅谈
iframe
的优缺点及应用场景
iframe
创建包含另外一个文档的内联框架(即行内框架),简而言之,
iframe
标签是框架的一种形式,一般用来包含别的页面。
一、使用
iframe
的优缺点
1.
iframe
能够把嵌入的网页原样展现出来;
2.模块分离,便于更改,如果有多个网页引用
iframe
,只需要修改
iframe
的内容,就可以实现调用的每一个页面内容的更改,方便快捷;
3.网页如果为了统一风格,头部和版本都是一样的
情况是这样:
页面在火狐页面测试
开发
,一点问题没有。
但是到谷歌,点击菜单后
iframe
中
的页面一闪而过,按F12后,页面会显示出来,点击另一个菜单时,页面还是停留在上一个页面,只能再一次按F12让目标页面显示出来。
解决办法:
其实看到闪屏消失就知道是
iframe
了,在网上看了一下也没看到解决办法,思考了一下,直接把
iframe
在js
中
创建,每次刷新页面时,都将
iframe
清理再创建,就不存在缓...
chrome
://flags/#same-site-by-default-cookies ,设置为 Disabled
chrome
://flags/#cookies-without-same-site-must-be-secure ,设置为 Disabled
重启浏览器
参考:https://developer.aliyun.com/article/743364
有个饮料企业进销存应用,采用的是每个TAB页加载一个
iframe
,然后用
iframe
加载jsp页面。在实际
开发
、测试
中
,往往需要快速定位到当前Active的TAB页对应的
Iframe
加载的是具体哪个页面,方便修改。以火狐、谷歌和Safari浏览器为例,简单看下如何快速查看
iframe
加载的页面信息。
1、火狐浏览器
鼠标右键,在此框架菜单下有很多二级菜单,比较常用的有:
1)仅显示此框架,当前页...
1. <
iframe
> 标签:
iframe
是个内联框架,是在页面里生成个内部框架。
2. <frameset> 标签:frameset 定义一个框架集,包含多个子框架,每个框架都有独立的文档。
1. <
iframe
> 标签
iframe
是个内联框架,是在页面里生成...
文章目录谷歌浏览器跨域丢失Cookie问题一、问题背景交代二、分析2.1、整体调用链路2.2、复现2.3、分析三、原因四、解决4.1、治标4.2、治本
谷歌浏览器跨域丢失Cookie问题
一、问题背景交代
公司内部系统A页面内嵌系统B的界面。当在A系统的界面
中
点击B系统图标跳转时此时跨域,导致跳转后的界面空白,A系统会向B系统发送一些请求参数,而B系统没有拿到这些参数,导致重定向后的界面空白。
2.1、整体调用链路
2.2、复现
这个问题在
Chrome
浏览器【我本地的】100%复现,后来切换到了
新版
chrome
(80+)浏览器默认屏蔽所有三方cookie已经不是什么新闻了,具体原因这里不去深究,有大量
相关
文章介绍,由于目前许多网站都依赖三方cookie,因此该特性的推出还是造成了一些的影响,比如收集用户信息的广告商,而且主流的浏览器都跟进
chrome
的策略,已经成为了既定事实,本篇文章主要聚焦于各种解决方案,大家可以针对自身情况采用不同的解决办法。
SameSite
cookie新增的属性,取值包括:Lax(默认),None,Strict
1.None:将关闭SameS.
下文是我看到的一篇很好的
Chrome
扩展
开发
攻略,感觉很有价值,内容详尽,遂转载,为了尊重版权,推荐您移步至原文阅览。
原文由小茗同学发表于小茗同学的博客园:【干货】
Chrome
插件(
扩展
)
开发
全攻略
1. 写在前面
我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https:/...
[chrome扩展] Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist
[chrome扩展] Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist
m0_48851951:
django搭建 - 本地服务器设置与配置
formurong:
Django-3.2.9-py3-none-any.whl在哪下载呀
tkinter - 使用Pyinstall进行打包封装
杨金衡本衡:
chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答
大家一起学编程(python):
chrome 扩展开发 - 如何获得iframe中的元素 和 相关问题解答
John Zhuang: