我期待只放一个网站的一小部分到iframe。 我会怎么做呢? 通常,当我成立了一个iframe中的一个网站(可以说雅虎),它获得了整个网站......可以说,我只是想在网站的一小部分,我会怎么做呢?
是否有可能把利润率在网站的iframe?
我希望把一个网站的iframe在我的网站上。 (如果是有道理的)
提前致谢
我期待只放一个网站的一小部分到iframe。 我会怎么做呢? 通常,当我成立了一个iframe中的一个网站(可以说雅虎),它获得了整个网站......可以说,我只是想在网站的一小部分,我会怎么做呢?
是否有可能把利润率在网站的iframe?
我希望把一个网站的iframe在我的网站上。 (如果是有道理的)
提前致谢
在大多数的情况下,参考是外部的,你没有在外部页面控制。 因此,你已经滚动IFRAME内容到所需的位置。 这当然是不可能的。 是啊,有一些JavaScript的黑客,但他们都坏的解决方案,因为在页面加载之后才发生的滚动。 解决方案
你可以用该IFRAME成一个div和使用绝对顶部和左侧的CSS属性滚动DIV内容。
下面是一个例子:
#my-div
{
width : 400px;
height : 200px;
overflow : hidden;
position : relative;
}
#my-iframe
{
position : absolute;
top : -100px;
left : -100px;
width : 1280px;
height : 1200px;
}
在这里,你有一个DIV与尺寸400x200px。 现在,通过移动其中的IFRAME你可以在合适的地方放置它。
<div id="my-div">
<iframe src="http://www.example.com" id="my-iframe" scrolling="no"></iframe>
</div>
这不能可靠地进行,由于同源策略和相关的iframe的限制。
..同源策略是许多浏览器端的编程语言,比如JavaScript的一个重要的安全概念。 该政策..阻止访问跨不同网站上的网页大多数方法和属性 。
如果是在你的网站上你的网站[或代理到目标站点]然后JavaScript中的父根据需要可以修改嵌入iframe的DOM或CSS ..
如果目标网站是否通过其他手段(包括XDR / XHR +传送数据CORS ),那么这些可以潜在地以及用作劈-A-较量。 然而,这个任务没有通用的解决方案。
即使jQuery.load
(使用XHR)是由同源策略的限制:
由于浏览器的安全限制,大多数“Ajax”的请求都受到同源策略 ; 该请求不能成功地从不同的域,子域,或协议检索数据。
一个<iframe>
给你一个完整的窗口的工作。 最直接的方式做你想做的是让你的服务器给你,只包含要显示片段的完整的页面。
作为替代方案,你可以只使用一个简单<div>
并使用jQuery的load
功能加载整个页面,剜出你想要的部分:
$('#target-div').load('http://www.yahoo.com');
有可能是你需要做其他事情,并且显著不同的是,内容将成为主要页面的一部分,而不是被分隔成一个单独的窗口。
你将无法操纵URL只得到了页面的一部分。 所以,你会想要做的就是通过您所选择的服务器端语言抓取的页面内容,然后解析HTML。 从那里,你可以抓住你正在寻找的特定DIV,然后打印出你的屏幕。 你也可以用它来删除不必要的内容。
使用PHP,你可以使用file_get_contents()
来读取要分析,然后使用该文件DOMDocument
解析它,并抓住你想要的DIV。
这里的基本思想。 这是未经测试,但应该指向你在正确的方向:
$page = file_get_contents('http://touch.facebook.com');
$doc = new DOMDocument();
$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div) {
// Loop through the DIVs looking for one withan id of "content"
// Then echo out its contents (pardon the pun)
if ($div->getAttribute('id') === 'content') {
echo $div->nodeValue;
}
}
<iframe>
加载完整的网站另一种方法做一个简单的方法
<iframe src="http://site.com/#content"></iframe>
其中#内容是需要被显示的内容的div ID