有谁知道是否允许Firefox扩展修改HTTP响应头?例如,扩展程序是否可以删除x-frame-options标头以使页面加载到iframe中?
谢谢
大家好日子.
我有一个包含iframe的页面.在那个iframe中,我有一个名为test()的脚本.我需要从父窗口访问该功能.在询问后我得到了这个解决方案:
<div onclick="document.getElementById('targetFrame').contentWindow.teste();">Test</div>
Run Code Online (Sandbox Code Playgroud)
单击时,应运行测试功能.问题是我得到"权限被拒绝访问属性测试"错误.
它看起来像是一个权限错误,因此我将iframe权限中加载的文件更改为777,但没有任何结果.
注意:iframe中加载的文件不在同一个域中.
我正在使用(已弃用的)Twitter API 1.0 进行一些测试
例如,我想从 API 获取数据,客户端使用来自任何跨源网页的 AJAX 浏览器请求。它可以是新的空白标签、本地 HTML 页面或任何现有网站。
我试过 JSONP,它工作得很好,但我想使用默认的 XMLHttpRequest 即使 Twitter 服务器不支持 CORS http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing。
例如,在 google.com 主页上,我创建了一个对 Twitter API 的简单 AJAX 调用,并使用 Firebug 执行:
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.twitter.com/1/friends/ids.json?screen_name=baptx", false);
xhr.send();
Run Code Online (Sandbox Code Playgroud)
由于同源策略,这将不起作用并在 Firebug 上打印错误:
Error: Failure
xhr.send();
Run Code Online (Sandbox Code Playgroud)
它返回一个 HTTP 200 OK 代码,但没有从服务器收到 JSON 数据。
我已经看到来自 google.com 网页的请求和来自 api.twitter 网页的请求之间的两个差异(它适用于 Twitter API 请求,因为它是 API 域名,同源)。
添加了一个带有当前域名的 Origin HTTP 标头:
Origin https://www.google.com
Run Code Online (Sandbox Code Playgroud)
Referer HTTP 标头不是 https://api.twitter.com/像来自 api.twitter.com 页面的请求,但在我的情况下是:
Referer https://www.google.com/webhp?hl=en
Run Code Online (Sandbox Code Playgroud)
这就是为什么我尝试删除 Origin HTTP …
javascript ×3
http-headers ×2
ajax ×1
cors ×1
cross-domain ×1
firefox ×1
http ×1
iframe ×1
permissions ×1