Возможным решением может быть использование JavaScript для прокрутки страницы. Однако, если страница, которую вы внедряете, находится в другом домене, вы не можете получить доступ к ее контенту с помощью JavaScript, если он находится в iframe (из-за same origin policy). Однако, если он находится в том же домене, что и главная страница, вы должны иметь доступ к нему с помощью JavaScript, а затем прокручивать с помощью метода window.scrollTo(x,y)
или аналогичного (см. this page on MDN).
Кроме того, если страница, в которую вы встраиваетесь, имеет именованный якорь (<a name="blah">
) или элемент уровня блока с определенным идентификатором (<div id="blah">
) в точке, которую вы хотите прокрутить, вы можете ссылаться на нее или вставлять ее используя URL-адрес, такой как http://example.com/page#blah, и он автоматически прокрутит до blah. Это не соответствует политике одного и того же происхождения, поэтому вы можете сделать что-то вроде <iframe src="http://example.com/page#blah"></iframe>
, и кадр будет автоматически прокручиваться до blah, даже если он не находится в том же домене, что и хост.
Решение «iframe with negative margin», о котором вы говорили, может работать, но это может быть сложно реализовать и, вероятно, вызовет проблемы, особенно если вы хотите иметь полную совместимость между браузерами.
Как-то я пропустил урок о привязке якоря к любому узлу с идентификатором. Это потрясающе. – Matrym 2010-12-17 00:44:45