我目前正在开发一个必须通过使用iframe从其他网站下载内容的网站。有没有办法可以裁剪下载页面的内容,只显示我网站上该页面的一部分?
答案 0 :(得分:30)
有没有办法可以裁剪下载页面的内容,只显示我网站上该页面的一部分?
没有。同源策略阻止您以任何方式操纵iframe
,包括滚动位置。
将iframe
置于具有已定义高度和宽度的div
容器中,并overflow: hidden
剪切视口,将会有一种解决方法:
<div style="width: 500px; height: 500px; overflow: hidden">
并给iframe
一个相对位置:
<iframe src="..." style="position: relative; left: -100px; top: -100px">
通过这种方式,您可以调整页面上可见的iframe部分。但是,整个页面仍然会被渲染,这种方法不会受到像iframe内部滚动等影响的影响。
答案 1 :(得分:6)
<div style="position: absolute; left: 0px; top: 0px; border: solid 2px #555; width:594px; height:332px;">
<div style="overflow: hidden; margin-top: -100px; margin-left: -25px;">
</div>
<iframe src="http://www.centricle.com/tools/html-entities/" scrolling="no" style="height: 490px; border: 0px none; width: 619px; margin-top: -60px; margin-left: -24px; ">
</iframe>
</div>
</div>
这段代码对我有用。
来源[http://extechbuzz.blogspot.com/2012/12/iframe-how-to-display-specific-part-of.html]
答案 2 :(得分:1)
在iframe中你无法做到......但是如果你使用HTTPWebRequest / WebResponse那么它非常简单......
http://www.codeproject.com/KB/IP/httpwebrequest_response.aspx
http://htmlagilitypack.codeplex.com/
这个包非常重要......你可以通过id ...
读取特定的div / span答案 3 :(得分:0)
要裁剪嵌入式page底部的广告,我使用了以下内容:
<div style="width: 1000px; height: 390px; overflow: hidden">
<iframe src="https://openflights.org/user/dankohn1" width="1000"
height="600" style="border:none" scrolling="no">
</iframe></div>
答案 4 :(得分:0)
此代码适用于我...将margin-top和margin-left调整为适合您的最佳值,并将iframe的高度和宽度调整为您想要的任何值。
<html>
<div style="overflow: hidden; margin-top: -1440px; margin-left:0;">
<iframe src="https://fiitjeelogin.com/StartPage.aspx" scrolling="no" height="1550"width="300" frameBorder="0">
</iframe>
</div>
</html>
答案 5 :(得分:0)
我设法阻止页面滚动。 只需添加:scrolling="no"
<div class="form-computer">
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSf_rtGkQkzqHEw1IBk53QDITiSWDYW5RJQKDUvojAGN5dIXsg/viewform?embedded=true"
width="100%" height="1915px" style="position: relative; top: -135px"
frameborder="0"
marginheight="0"
marginwidth="0"
scrolling="no"
>Social Media Use
</iframe>
</div>