現在、iframeを使用して別のWebサイトからコンテンツをダウンロードする必要があるWebサイトで作業しています。ダウンロードしたページのコンテンツをトリミングして、自分のWebサイトにそのページのセクションのみを表示する方法はありますか?
ダウンロードしたページのコンテンツをトリミングして、自分のWebサイトにそのページのセクションのみを表示する方法はありますか?
いいえ。同一生成元ポリシーでは、スクロール位置を含め、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内のスクロールなどの影響を受けません。
<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 ]
Iframeではそれを行うことはできません...しかし、HTTPWebRequest/WebResponseを使用する場合、その非常に単純な...
http://www.codeproject.com/KB/IP/httpwebrequest_response.aspx
http://htmlagilitypack.codeplex.com/
このパックは非常に重要です... IDによって特定のdiv/spanを読み取ることができます...
このコードは私のために働きました... 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>
埋め込まれた 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>