Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在自己的网站中显示外部内容(将浏览器模拟为Web应用程序)_Javascript_Php_Html_Iframe - Fatal编程技术网

Javascript 在自己的网站中显示外部内容(将浏览器模拟为Web应用程序)

Javascript 在自己的网站中显示外部内容(将浏览器模拟为Web应用程序),javascript,php,html,iframe,Javascript,Php,Html,Iframe,我想建立一个Web应用程序,提供有关“动态”网站的附加信息。例如,用户访问我的网站,但他们可以在那里浏览其他页面,例如,在iframe中作为我网站的主要部分。但现在,根据用户当前浏览的网站,我还想显示其他信息,如一些与该网站相关的评论或评级 使用iframe显示外部页面的解决方案非常简单。但是,由于安全问题,如果URL不是作为父页面的域,则无法在iframe中跟踪当前加载的URL。一旦用户单击外部页面中的链接,我的父页面将不知道新位置,并且无法相应地更新附加信息 我尝试了一些简单的解决方法,包括

我想建立一个Web应用程序,提供有关“动态”网站的附加信息。例如,用户访问我的网站,但他们可以在那里浏览其他页面,例如,在
iframe
中作为我网站的主要部分。但现在,根据用户当前浏览的网站,我还想显示其他信息,如一些与该网站相关的评论或评级

使用
iframe
显示外部页面的解决方案非常简单。但是,由于安全问题,如果URL不是作为父页面的域,则无法在
iframe
中跟踪当前加载的URL。一旦用户单击外部页面中的链接,我的父页面将不知道新位置,并且无法相应地更新附加信息

我尝试了一些简单的解决方法,包括使用PHP脚本
grab.PHP
获取和显示外部内容:

<?php
  $ch = curl_init($_GET['url']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  $content = curl_exec($ch);
  curl_close($ch); 
  echo $content;
?>
但这也带来了一些问题。首先,相对源(例如到图像)指向具有我的域的位置,因此不显示。其次,我还需要调整外部页面中包含的所有相对链接和绝对链接,比如
grab.php?url=…
。最后,这不适用于外部页面必须动态加载的内容。最后一点似乎是一个重大的问题

我现在的问题是,有没有办法实现这一点


(我目前有一个使用浏览器扩展的解决方案,它会打开一个弹出窗口来显示附加信息。但很明显,该扩展依赖于浏览器,一个不需要用户安装扩展的替代解决方案将非常好。如果我能获得
iframe的当前URL,一切都将变得微不足道).

也许可以去掉iframe,尝试用cURL解析子页面,用所需页面中的内容替换整个文档的内容+您的codeCare的其他未来需要详细说明?老实说,我不太明白。因为它仍然使用cURL,动态加载内容的问题不是仍然存在吗?如果您使用php只是为了获取远程页面的数据,那么就没有问题了,您甚至可以登录某个页面并使用cURL获取所需的数据。您需要调整标题部分以包含脚本,页面的其余部分可以保持原样(添加小部件的html和css),当链接和图像src是相对的时,也会将它们解析为绝对的。也许可以去掉iframe并尝试用cURL解析子页面,以将整个文档的内容替换为来自所需页面的内容+您的编解码器的其他未来需要详细说明?老实说,我不太明白。因为它仍然是using cURL,动态加载内容的问题是否仍然存在?如果您使用php只是为了获取远程页面的数据,那么就没有问题了,您甚至可以登录某个页面并使用cURL获取所需的数据。您需要调整标题部分以包含脚本,页面的其余部分可以保持原样(通过添加小部件的html和css),还可以将链接和图像src解析为绝对的,当它们是相对的时。
<iframe src="grab.php?url=http://www.google.com" width="1200" height="800"></iframe>