chrome系列-扩展程序开发学习-跨域请求数据

chrome系列-扩展程序开发学习-跨域请求数据

月光魔力鸭

2018-09-08 17:54 阅读 600 喜欢 0 chrome系列 跨域

扩展程序中会有需要请求外部接口获取数据的时候,如果直接在JS中写的话,会跨域,但是谷歌扩展程序支持这种情况,只需要配置一下即可。

下面我们做一个简单的请求数据获得IP地址的数据。

主要的配置项permissions, 配置需要请求的地址即可。

{
    "manifest_version":2,
    "name":"IP地址",
    "version":"1.0",
    "description":"DEMO-查看当前的用户IP",
    "icons":{
        "16":"img/icon16.png"
    },
    "browser_action":{
        "default_icon":{
            "16":"img/icon16.png"
        },
        "default_title":"查看IP",
        "default_popup":"popup.html"
    },
    "permissions":[
        "http://pv.sohu.com/cityjson"
    ]
}

获取IP地址的API地址:http://pv.sohu.com/cityjson,所以需要在permissions中添加该地址。

//popup.html 长这样子,简单一些
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>IP地址</title>
    <style>
        .div{
            min-width:200px;
            background-color:black;
            color:white;
            font-size:20px;
            text-align:center;
        }
    </style>
</head>
<body>
    <div class="div" id="demo">
        
    </div>
</body>
</html>
<script type="text/javascript" src="popup.js"></script>
//popup.js 长这样子
//request 异步请求地址
function request(url,cb){
    var xhr = new XMLHttpRequest();
    xhr.open('GET',url);

    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            cb(xhr.responseText);
        }
    }
    xhr.send();
}

request('http://pv.sohu.com/cityjson',function( ip ){
    document.getElementById('demo').innerHTML = ip;
});

大功告成,将我们的文件夹加载到谷歌扩展程序中,看下效果吧。

示例图

想做一个更实用的小插件,那么就需要你的灵感和需求了。

转载请注明出处: https://chrunlee.cn/article/chrome-learn-3.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
反爬有很多手段,字体反爬就是其中之一。之前一直都是听过,但是却没怎么在实际爬虫中遇到过,最近在一个爬虫题目网站上看到了,试了试,发现还挺麻烦,当然自己从头研究字体肯定麻烦,简单的是模块多的是,选几个就过了。
近期有添加数学公式的需求,找来找去,最后还是选择了最简单的。tinymce+kityformula
mysql数据库插入double类型确没有小数点
国庆马上来临,头像已经先热起来了,为了蹭蹭热度,赶紧加班搞了一个。
当我们使用web打印相关的解决方案的时候,还有不少小坑值得注意下,同时需要了解几个小技巧提升在web打印上的友好度,以下整理一些常见的小技巧
整理一些相关的信息,防止后续再找不到。
最近有个小功能需要一些基础数据,找了一下在小程序上有发现,暂时还没找到他的网站,想着把这些数据爬一些下来做为基础数据使用的。本来还想着直接反编译小程序的,没想到微信变更了加密方式,以前反编译的路子走不通了。
docker build 执行yum失败,找不到repo