ajax – 由于源控件切换到https后,Chrome扩展程序无法从服务器获
发布时间:2020-12-15 22:55:51 所属栏目:百科 来源:网络整理
导读:我一直在与Chromium,jQuery和 AJAX作斗争.我的扩展使用ajax从一些站点获取一些资源,然后解析结果并将其存储在某个地方.其中一个网站决定跳转到https.整齐.我只需要为https更改http,并解决我遇到的任何问题.没有快乐. 我使用以下ajax方法来获取东西(是我可以
我一直在与Chromium,jQuery和
AJAX作斗争.我的扩展使用ajax从一些站点获取一些资源,然后解析结果并将其存储在某个地方.其中一个网站决定跳转到https.整齐.我只需要为https更改http,并解决我遇到的任何问题.没有快乐.
我使用以下ajax方法来获取东西(是我可以重现的最小单位): $.ajax({ url: "https://reader.japanzai.com/search/",type: 'POST',data: { 'search': "onna" },beforeSend: function (xhr) { xhr.setRequestHeader("Access-Control-Allow-Origin","*"); },headers: { 'Access-Control-Allow-Origin': '*' }}) 让我忽略一下,我已经设置了两次标题,因为只使用一个不起作用并抛出结果: OPTIONS https://reader.japanzai.com/search/ No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-extension://nhjloagockgobfpopemejpgjjechcpfd' is therefore not allowed access. jquery.js:5 x.support.cors.e.crossDomain.send jquery.js:5 x.extend.ajax jquery.js:5 (anonymous function) VM4000:2 InjectedScript._evaluateOn VM3770:581 InjectedScript._evaluateAndWrap VM3770:540 InjectedScript.evaluate VM3770:459 XMLHttpRequest cannot load https://reader.japanzai.com/search/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-extension://nhjloagockgobfpopemejpgjjechcpfd' is therefore not allowed access. lab.html:1 正如您所看到的,它表示请求标头不存在,在http请求之后也是如此: Request URL:https://reader.japanzai.com/search/ Request Method:OPTIONS Status Code:200 OK Request Headersview parsed OPTIONS https://reader.japanzai.com/search/ HTTP/1.1 origin: chrome-extension://nhjloagockgobfpopemejpgjjechcpfd access-control-request-method: POST dnt: 1 accept-encoding: gzip,deflate,sdch host: reader.japanzai.com accept-language: es,en-US;q=0.8,en;q=0.6 method: OPTIONS user-agent: Mozilla/5.0 (X11; Linux i686 (x86_64)) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/31.0.1650.63 Safari/537.36 accept: */* url: /search/ scheme: https version: HTTP/1.1 access-control-request-headers: access-control-allow-origin,accept,content-type 响应: HTTP/1.1 200 OK cache-control: post-check=0,pre-check=0,max-age=0 content-encoding: gzip content-type: text/html date: Thu,13 Feb 2014 22:58:03 GMT expires: Sat,01 Jan 2000 00:00:01 GMT last-modified: Thu,13 Feb 2014 22:58:03 GMT pragma: no-cache server: nginx/1.5.8 set-cookie: ci_session=U3Q14aq8Q7W4KVifDyLi7%2B3lppr%2FS4BNmW1kD9t60H7dz73M5KMs1jgBo8ZrilKoswn63PvCl1sOldPs1RCl6NdiP1VZeekoMTISyQenQZU0F8yUC0odw6WuMUE5I%2FY%2Bfvddv2YH06b2pxyyNBDZnNn%2BLnLzPrRYBXHuAjFbTyucX%2FMLUUM2cwKLzaK3ILKPhxy8FXW%2FI%2F9EPPbwo%2B8nmbPwOeqDfpDdu61F5yzUU8KjfUo7MwwFIXyGWtqbjbF3PCKNZrY%2F3Cj77DgCpcCbTTKZ%2BVzrdw16oGVDg1dP8lQgSof89rLNqUlQSj60tCVzZ27oPNh9OvvTNJ92tYkTHDukG4dyv21yM4M3PACZ%2FKVNP0i2UWHbBujADPSsrGJhJxPzBsuRDLcPtDcBtuaXA4LLMoGoYW6SxYk%2BseltMvk%3D; expires=Fri,14-Feb-2014 00:58:03 GMT; path=/ set-cookie: ci_session=tQT8qmNRnMRN2Oj3moCdZg9VNEEsPxi3t88g2SpYQxahFr%2FpiEpQFzsO2mLTp1bPlsGLmqQGnMUiuwFpLYNIneNHtU%2BoKkVOcnR8ZKxPd0FDrkW%2BqT0N2IIsV%2BC%2FXQX%2BZUkLg1E4iP6u%2F0%2Fjk1t%2BAwcwhoC0M3zODuEKv1l9JMFo%2B1g4%2BhIOp%2FHTzBnlMvE2KjanXJR55F3DOHdyi4MvQb1vzgWEZTTAfhZ3bkQPkKe41ZCJYQTw%2FrDfry8n2h43UKPc1IF4tWp%2BKh0yhux%2FsBn84meT3xR%2Bpba9ffeZObrQyVomKlmJg9oRkKvlhR4MlNsiIeIZEvtP52ns0X1uF%2B7Pg6RpcMihe1u2S0%2Fbz5wm75vQ6tyykmFp5qfnoDgXB6J7RmbBQy4GTOFEA2zqN3V6QXT71cSn%2B1ARd9GtNMA%3D; expires=Fri,14-Feb-2014 00:58:03 GMT; path=/ status: 200 OK strict-transport-security: max-age=31536000 vary: Accept-Encoding version: HTTP/1.1 x-powered-by: PHP/5.4.4-14+deb7u7 所以,我在这里遗漏了一些显而易见的东西,或者没有办法做到这一点? 解决方法
我遵循了亚伯拉罕的建议,并将该网站添加到清单中的权限字段中.它工作,唯一不好的是,如果另一个网站决定转移到https我需要发布一个新版本,所以这就是我结束了:
"permissions" : [ "tabs","*://*/*","https://ssl10.ovh.net/*","unlimited_storage","clipboardWrite", 这里的重要部分是“*:// * / *”,其中包含来自http和https的任何内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |