
前几天想写个抓取 bing 每日壁纸作为 chrome 新标签页背景的插件,可是 chrome 插件貌似只支持 js 。而 js 想跨域读取 json 的话,也必须有服务端的支持,比如这个:
JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成 Script tags 返回至客户端,通过 Javascript callback 的形式实现跨域访问
想读取的 json 地址:http://cn.bing.com/HPImageArchive.aspx?forma=js&idx=1&n=1&nc=1443074799572&pid=hp&video=1
chrome 应用商店已经有插件实现了类似功能, yahoo 的 FlikrTab ,不知道它这个是怎么实现的,难道在 yahoo 服务器上有对应的代码传递数据给 js ?求大牛解释一下
1 learnshare 2015-10-15 10:12:05 +08:00 不对, Chrome 插件允许跨域加载文件 https://developer.chrome.com/extensions/xhr#requesting-permission |
2 xuxu 2015-10-15 10:12:56 +08:00 当成 text 读过来 parse 一下就行了。 |
3 MrZephyrus OP @learnshare 真的有,感谢了,去试一下 |
4 MrZephyrus OP @xuxu 应该还是得用 XMLHttpRequest()吧? |
5 xuxu 2015-10-15 10:33:23 +08:00 |
6 MrZephyrus OP @xuxu thx |
7 bertonzh 2015-10-15 11:05:11 +08:00 Chrome extension API 的 XMLHttpRequest 支持跨域,可能需要先在 manifest.json 里面添加一下内容权限。 |
8 MrZephyrus OP @bertonzh 行,谢谢 |
9 MrZephyrus OP @learnshare 我发现这样不行,这个 json 地址是不会做出任何响应的,那我 XMLHttpRequest()中的 onreadystatechange 就没有作用 |
10 MrZephyrus OP @learnshare 是不是只要这个静态页面响应就 ok 了? |
11 learnshare 2015-10-15 15:59:27 +08:00 @MrZephyrus 我并没有实践过,没法回答你了 |
12 MrZephyrus OP @learnshare 好吧,谢谢了 |
13 hcymk2 2015-10-15 16:10:22 +08:00 |
14 MrZephyrus OP @hcymk2 赞 |