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

How to show webapp's header bar on top of the external websites?

本文关键字:顶部 显示 webapp 标题栏 网站 外部      更新时间:2023-09-26

让我们假设web应用程序有一个外部url列表。用户点击其中一个url,进入另一个网站。我如何在其他网站的顶部显示第一个web应用程序的标题?

http://www.stumbleupon.com/

这些家伙使用iframe为此目的,但如果我将尝试从Pinterest添加一个页面,例如,那么我将只得到Stumbleupon的标题和空白体,因为Pinterest的x-frame-options被设置为sameorigin

据我所知,如果不使用iframe,就没有办法把你自己的应用程序的标题放在另一个网站的内容之上,如果没有扩展,就没有办法绕过同源规则。

如果你创建了一个Chrome扩展,你应该能够让它请求跨域权限,然后你的代码应该被允许嵌入以前不可嵌入的iframe

从Chrome文档:

通过将主机或主机匹配模式(或两者)添加到清单文件的权限部分,扩展可以请求访问其源服务器之外的远程服务器。

{       
   "name": "My extension",
   ...
   "permissions": [
     "http://www.google.com/"
   ],
   ...
 }

所以你应该能够添加模式*请求CORS权限在所有网站为您的Chrome扩展。permissions部分是为AJAX请求而设计的,所以我不能100%确定这种方法适用于iframe,但我会尝试一下。

从我粗略的研究来看,看起来你可能无法请求Firefox扩展的跨域权限,不幸的是,所以它只能是Chrome。

你可以用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,我相信这将是更快,更有效的什么你试图做