4

クロスドメインの子 iframe を読み込んで、特定のセクションまでスクロールすることはできますか?

たとえば、スタック オーバーフローに関する質問を参照したいとします。JavaScript を使用して、質問のあるページの特定の部分までスクロールし、ハイライトなどをオーバーレイします。

私のハックは、iframe を非常に高い高さのようにロードし、位置を移動するだけでスクロールすることです。

面倒だけど何かいい方法ない?

4

2 に答える 2

0

iframeが別のオリジンドメインから読み込まれている場合、iframeを操作するためにできることはほとんどありません。ブラウザは、iframeコンテンツを直接操作できないクロスオリジンセキュリティを適用します。iframeに読み込まれるコンテンツをある程度制御できる場合は、postMessage関数を使用できます。

postMessageAPIはかなりよくサポートされているようです。仕様デモをご覧いただけます。

このブログ投稿には、問題へのアプローチのかなり良い概要があるようです。

iframeの高さを設定するだけのハックは興味深いアイデアですが、表示するコンテンツについて何か知っている場合にのみ機能するように、必要な長さを知る必要があります。

于 2012-06-02T18:41:24.630 に答える