如何在外部网站上显示webapp的标题栏?

时间:2015-10-03 03:08:03

标签: javascript html iframe toolbar browser-extension

我们假设webapp有外部URL列表。用户单击其中一个URL并转到另一个网站。如何在其他网站上显示第一个webapp的标题?

http://www.stumbleupon.com/

这些人为此目的使用iframe,但是如果我尝试从Pinterest添加一个页面,那么我将只得到Stumbleupon的标题和空白正文,因为pinterest的x-frame-options设置为{{ 1}}。

2 个答案:

答案 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,我相信这样做会更快更有效率。