我正在尝试开发一个页面,我可以一次显示3个以上的网站,如下所示:
<ul>
<li>
<iframe src="http://www.facebook.com/" /><p> iframe is not supported</p>
</li>
<li>
<iframe src="http://www.yahoo.com/"></iframe>
</li>
<li>
<iframe src="http://www.google.co.in"></iframe>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
问题是它显示了yahoo.com和google.co.in,但没有在iframe中显示Facebook.
小智 24
您必须检查这些站点的HTTP响应标头X-Frame-Option.如果其值为"DENY或SAMEORIGIN",则您无法在iframe中加载这些网站.
DENY =没有人可以在iframe中加载网站.即使是相同的域页也无法加载.SAMEORIGIN =只有在同一个域中的网页才能在iframe中加载此网站.
由于某些网站已决定禁止将其嵌入到iframe中,因此纯HTML解决方案无法做任何事情。您可以创建一个服务器端脚本(用PHP),该脚本通过您的网络服务器提取目标站点,然后使用html等。
我能想到的唯一使您能够检查网站是否加载的方法是在iframe中搜索目标网站上存在的特定元素(例如,在Facebook的首页上具有特定ID或类的div) 。原因是不同的网站可以处理嵌入iframe的方式有所不同,而有些网站可能显示某些内容,有些网站可能不显示任何内容,等等,唯一可以确定的方法就是检查真实元素。
Sud*_*ha 3
Facebook 不希望您在框架中加载他们的主网站
<iframe src="http://m.facebook.com/" width="200" height="300" scrolling="auto" frameborder=0></iframe>
Run Code Online (Sandbox Code Playgroud)
width="200" height="300"
可以相应调整。*
其作用是在框架中加载 Facebook 的移动版本而不是主站点。
归档时间: |
|
查看次数: |
44001 次 |
最近记录: |