我们假设webapp有外部URL列表。用户单击其中一个URL并转到另一个网站。如何在其他网站上显示第一个webapp的标题?
这些人为此目的使用iframe,但是如果我尝试从Pinterest添加一个页面,那么我将只得到Stumbleupon的标题和空白正文,因为pinterest的x-frame-options
设置为{{ 1}}。
答案 0 :(得分:2)
据我所知,没有办法在不使用iframe的情况下将自己的应用程序标题放在另一个网站的内容之上,如果没有扩展名,则无法绕过相同的原始规则。
如果您创建Chrome扩展程序,则应该可以使用它来请求跨域权限,然后应允许您的代码嵌入以前无法替换的iframe。
来自Chrome docs:
通过将主机或主机匹配模式(或两者)添加到清单文件的权限部分,扩展可以请求访问其原始数据之外的远程服务器。
{ "name": "My extension", ... "permissions": [ "http://www.google.com/" ], ... }
因此,您应该只需添加模式*
即可在Chrome扩展程序的所有网站上请求CORS权限。 permissions
部分是针对AJAX请求设计的,因此我不能100%确定这种方法适用于iframe,但我会试一试。
从粗略的研究来看,很遗憾,您可能无法使用Firefox扩展程序请求跨源权限,因此它只会是Chrome。
答案 1 :(得分:1)
您可以改用Curl:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/Header");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$header = curl_exec($ch);
curl_close($ch);
输出结果为$header
,我相信这样做会更快更有效率。