将请求从https发送到Chrome扩展程序的http

时间:2016-05-27 15:55:45

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

大家好,我有一个奇怪的问题,即通过谷歌浏览器扩展程序从https网站向http网站发送请求。

  

jquery.js:6混合内容:“https://www.google.co.in/webhp?hl=en”页面是通过HTTPS加载的,但请求了一个不安全的XMLHttpRequest端点“http://ip/stats/search.php?keywords=apple”。此请求已被阻止;内容必须通过HTTPS提供。

这是我的代码注入网站......

  $(document).ready(function(){
    $('input[name=q]').keydown(function(e) {
        if (e.keyCode == 13) {
            v = $(this).val();
            v=encodeURI(v);
        $.ajax({
        type: 'POST',
        url: 'http://myipaddress/stats/search.php?keywords='+v,
        data:{'search':v},
        success: function(data){ 
        //something....
        }   
        });
           }


  }); 
  });

的manifest.json

   {
  "name": "Ads",
  "version": "0.0.1",
  "manifest_version": 2,
   "description": "Injecting stuff",

      "background":
         {
         "scripts": ["jquery.js","background.js"]
              },
          "browser_action": {
        "default_title": "Inject!"
          },
         "permissions": [
        "https://*/*",
         "http://*/*",
         "tabs"
        ],"content_scripts" : [
         {
       "js": ["jquery.js", "inject.js"],
           "matches": ["*://*/*"]
      }
       ]
       }

2 个答案:

答案 0 :(得分:0)

这是一项安全功能。大多数(所有?)现代浏览器都要求HTTPS域通过HTTPS加载所有内容。任何不安全的(HTTP)请求都将被阻止。

但是,您可能需要查看this SO thread,它有一些有趣的链接可能会引导您找到解决方案。

答案 1 :(得分:0)

如果由于页面的来源而无法从内容脚本发出请求,请将其委托给后台脚本。

Send a message到后台脚本,指示它发出请求,然后返回响应。请记住来自处理程序的return true表示您将异步响应。