我的WOT api没有在chrome扩展iam开发中工作

时间:2016-08-10 09:24:33

标签: javascript google-chrome google-chrome-extension

我一直致力于谷歌浏览器扩展程序,以提交我的学术项目,如Adblocker。

因此,在我的扩展程序中,每当您点击外部链接时,它会检查它是否是广告,如果它是广告,它会显示警报,而在警报部分我想要显示 我的Wot评级,为此目的我已经获得了 API密钥,并且我在过去几天一直在尝试显示。

所以每当我打电话给

http://api.mywot.com/0.4/public_link_json?hosts=http://mathrubhumi.com/&callback=process&key=e4ae59175895506dde09ee2ce355f3a19797e445

它将结果显示为:

进程({“mathrubhumi.com”:{“target”:“mathrubhumi.com”,“0”:[86,38],“1”:[86,38],“2”:[86, 38],“4”:[84,37]}})

但每当我尝试通过我的扩展程序调用api时,它都表示未定义。

这是我一直在尝试的Java Script代码:

// click safe coded      
var data;

var url = window.location.href;
if (!url.substring(0, 3) == "www" || !url.substring(0, 3) == "htt" || url.indexOf('ads') > 0)
{


   getJSON('http://api.mywot.com/0.4/public_link_json?hosts=http://mathrubhumi.com/&callback=process&key=e4ae59175895506dde09ee2ce355f3a19797e445'), then(function (data) {


//   alert('Your Site has Trust Score result of:  ' + data.result); 

  result.innerText = data.result;

。     });

感谢。

1 个答案:

答案 0 :(得分:0)

我想为@ wOxxOm的确切评论添加一些细节:

  1. Cross-Origin XMLHttpRequest。基本上,如果您从内容脚本发送ajax,它将受Same Origin Policy的限制。虽然扩展不受此限制,但只要您请求跨源权限即可。请参阅上面的链接,了解您需要添加的内容。
  2. 将ajax逻辑从内容脚本移动到后台页面后,如果您需要在这两个页面之间传输数据(它们生活在两个不同的上下文中),您可能需要查看Message Passing部分
  3. 对于Window.location对象,请参阅此链接,您会发现Location.href包含整个网址,因此需要协议。