返回首页

chrome 插件 可以同时通信 background,popup 吗

59 2024-03-08 15:20 admin   手机版

一、chrome 插件 可以同时通信 background,popup 吗

由于安全问题,chrome禁止了跨域请求的。在某些场景中,我们需要在popup的脚本中发送跨域请求,但是在chrome中执行,返回的status总是为0 。这样很不方便。 但是在插件中,background脚本是可以执行跨域请求的。 content脚本中也可以请求,但是必须先设置manifest.json里的permissions,开启对某些地址的跨域请求。 这里有一些解决方案。 1.利用通信 popup发送消息,background执行跨域请求,返回信息。但是,这里有个问题,popup里面的发送消息时回调函数并没有执行(content和background通信中执行没问题)。但是我们需要在收到消息后执行某些操作。因此,这样问题很大。 2.调用background函数 其实,还有种最简单的方法,那就是直接调用background的函数。因为,popup里面可以获取background: var bgPage = chrome.extension.getBackgroundPage(); 只要调用函数bgPage.someFunc();就可以使用background的功能了。 比如你在background里面实现函数: DownloadPage(url,callback){ var content = ; // 下载代码,可以跨域请求 // ....... callback(content); }; 在popup里面调用: bgPage.DownloadPage('',function(content){ // 在这个回调函数里面改变popup内容等 });

二、怎么设置chrome使用telnet

telnet ip地址 端口号不过对方必须要开启telnet服务,

而telnet的端口号一般为21,如:telnet 12.15.17.22 21 在需要远程控制的电脑上设置如下 确保启动相应的服务项目。本来远程桌面需要的服务项目是默认开启的,但我自己以前曾经将系统服务减少...

三、google通讯录怎么同步

清除手机了的人,完整google邮箱里的通讯录,手机端点击同步,以后每次加人都建在google账户里

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片