Chrome插件-跨域请求

前言

  如果我们的谷歌插件需要获取其他的网站的html文本,并且匹配里面对我们有价值的内容,通过谷歌插件可以很方便的进行跨域请求并取得数据。


例子

  让谷歌插件在我们打开思否网站的时候,执行脚本请求百度的html文本。

1.谷歌插件的描述文件menifest.json中添加content_scripts字段,然后添加一个permissions字段,添加content_scripts字段后,当你打开matches里面的网址时会执行js里面的脚本一次,*号为通配符,打开的网站是思否。后者permissions字段用来添加需要跨域请求的网站,我们添加百度的网址。

  "permissions" : ["tabs","https://www.baidu.com/"],
  "content_scripts":[{
    "matches":["https://segmentfault.com/*"],
    "js":["jquery-2.0.0.min.js","main.js"]
  }],

2.在main.js中添加一个如图代码,函数XMLHttpRequest()的用法可以参考该链接

var html_text = {};
//跨域请求百度的html文本 ,需要permission添加跨域允许
function get_html()
{
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "https://www.baidu.com/", true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            html_text = xhr.responseText;
            console.log(html_text)
        }
    }
    xhr.send();
}
get_html()

3.打开思否网站,并且F12打开调试窗口,可以在console中看到请求的结果。

图1 打开思否

图2 获得百度的html文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值