chrome插件的popup与跨域请求
popup及其它js脚本
在chrome插件开发中,大致有几种类型的js文件:popup窗体的js文件,background脚本,content脚本。
- popup即指弹出窗体,里面的页面是使用html等定义的。这个页面里面包括脚本。主要用于popup界面逻辑,可是它也能够调用chrome的一些API,比方和background通信。
- background是用于处理后台功能的,比方处理一些计算、分析页面等。
- content是嵌入打开的页面的。利用它能够改动浏览页面的样式功能、得到页面的DOM等。
在某些场景中,我们须要在popup的脚本中发送跨域请求,可是在chrome中运行,返回的status总是为0 。这样非常不方便。
popup发送消息,background运行跨域请求,返回信息。可是,这里有个问题,popup里面的发送消息时回调函数并没有运行(content和background通信中运行没问题)。可是我们须要在收到消息后运行某些操作。因此,这样问题非常大。
2.调用background函数
var bgPage = chrome.extension.getBackgroundPage();
DownloadPage(url,callback){
var content = "";
// 下载代码,能够跨域请求
// .......
callback(content);
};
bgPage.DownloadPage('http://www.baidu.com',function(content){
// 在这个回调函数里面改变popup内容等
});
chrome插件的popup与跨域请求的更多相关文章
- flask插件系列之flask_cors跨域请求
前后端分离在开发调试阶段本地的flask测试服务器需要允许跨域访问,简单解决办法有二: 使用flask_cors包 安装 pip install flask_cors 初始化的时候加载配置,这样就可以 ...
- [1.6W字] 浏览器跨域请求限制的详细原理分析&寻找一种最简单的方式实现XHR跨域(9种方法, 附大招可以纯前端实现跨域!)
Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...
- [1.6W字]浏览器跨域请求的原理, 以及解决方法(可以纯前端实现) #flight.Archives011
Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...
- Ajax 跨域请求,Chrome 无法显示 Set-Cookie
在使用 Ajax 进行跨域请求时,前后端均已设置 withCredentials = true,但 Chrome 前端响应无法显示 Set-Cookie. 一开始以为 Cookie 并没有设置成功,但 ...
- Chrome本地跨域请求设置,实现HTML模板页
按照需求,公司现在需要通过第三方的API反馈的数据,进行在本地就可以打开的静态页面程序(完全脱离IIS等服务器).为了更好的维护项目,需要实现静态HTML引入HTML模板,完成ASP.NET模板页的类 ...
- ajax跨域请求的解决方案
一直打算改造一下自己传统做网站的形式. 我是.Net程序员,含辛茹苦数年也没混出个什么名堂. 最近微信比较火, 由于现在大环境的影响和以前工作的总结和经验,我打算自己写一个数据,UI松耦合的比较新潮的 ...
- 关于 Angular 跨域请求携带 Cookie 的问题
在前端开发调试接口的时候都会遇到跨域请求的问题.传统的方式是使用 Nginx 反向代理解决跨域.比如所有接口都在 a.com 的域下,通过 Nginx 将所有请求代理到 a.com 的域下即可. 使用 ...
- 利用CORS实现跨域请求(转载)
跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题.不过现在,我们可以考虑一下W3C中一项新的特性--CORS(Cross-Origin Resource Sh ...
- Ajax_05之跨域请求
1.跨域请求: Cross Domain Request:跨域名的HTTP请求,浏览器从某个域名下的资源访问了另一域名下的另一资源(协议.域名或是端口号不同): ①浏览器允许跨域请求的情形: < ...
随机推荐
- Windows界面编程第四篇 异形窗体 高富帅版 ---博客
http://blog.csdn.net/morewindows/article/details/8451638
- lucene.net 3.0.3、结合盘古分词进行搜索的小例子(分页功能)
转自:http://blog.csdn.net/pukuimin1226/article/details/17558247 添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新 ...
- 高手写的“iOS 的多核编程和内存管理”
原文地址:http://anxonli.iteye.com/blog/1097777 多核运算 在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch), ...
- 建议:一般地,建议使用xcode 4.3开发app 而不是使用xcode4.5
建议:一般地,建议使用xcode 4.3开发app 而不是使用xcode4.5 因为,xcode4.5 默认的sdk 是ios6.0,这里面有很多新特性.比如,Autolayout 等,这个特性再io ...
- andriod 文本居中: android:gravity="center"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- nyis oj 68 三点顺序 (计算几何基础)
三点顺序 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 如今给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,如今让你推断A,B,C是顺时针给出的还是逆 ...
- 让Mac风扇面对PD不再疯狂
对于所有喜欢Mac操作系统的用户来说,如果办公环境必须使用Windows及Windows程序,那一定会非常崩溃,因为你很可能使用了Parallels Desktop来运行你的Windows虚拟机,那么 ...
- [置顶] think in java interview-高级开发人员面试宝典(一)
“生死六重门” 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理者正在物色合适的开发 ...
- C#读写txt文件的两种方法介绍[转]
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- Cisco KVM Console无法打开
前阵子手贱, 每次弹出的Java的update的对话框我都是直接关闭的, 那天实在是不忍再受骚扰, 升级到了Java 8. 结果Cisco的KVM就死活打不开了, 报错如下: Exception: c ...