iFrame перемещает страницу вверх в родительский div/top

У меня есть iFrame на родительской странице, длина содержимого варьируется от страницы к странице в iFrame, поэтому я хотел бы, чтобы страница возвращалась вверх в определенных ситуациях.

Это отлично работает в IE, где хлебные крошки — это идентификатор div в родительском окне.

<script>
window.parent.location = "#breadCrumb";
</script>

Он перемещает страницу в нужное место, а URL-адрес — parentwindowurl.aspx#breadCrumb.

Однако в Chrome и Firefox это не работает, он меняет страницу на URL-адрес iFrameurl#breadCrumb, который заменяет родительскую страницу и не имеет div-хлебных крошек.

Кто-нибудь знает, как я могу заставить это работать в Chrome и Firefox? Или есть лучшая альтернатива, которую я должен использовать?


person Baxter    schedule 12.10.2012    source источник
comment
К вашему сведению, ваши теги сценария должны быть ‹script type='text/javascript'›   -  person Jim W says reinstate Monica    schedule 12.10.2012


Ответы (3)


Попробуй это

window.parent.location.href = "#breadCrumb";
person jams    schedule 12.10.2012
comment
Это ломает его в IE, например, в Chrome и Firefox, он перенаправляет страницу на iFrameURL#breadCrumb. - person Baxter; 12.10.2012

Предполагая, что вы хотите, чтобы это было на самом верху, это легко

https://developer.mozilla.org/en-US/docs/DOM/element.scrollTop

window.parent.scrollTop(0);

жаль, что это может быть на самом деле

window.parent.document.body.scrollTop(0);

если нет, сообщите мне об ошибке

person Jim W says reinstate Monica    schedule 12.10.2012
comment
Могу ли я просто поместить это где-нибудь между ‹script›‹/script› в iFrame? - person Baxter; 12.10.2012
comment
Мне нравится ТАК, но я всегда тороплюсь ответить на некоторые вопросы... думаю, что это должно быть window.parent.document.body.scrollTop(0); - person Jim W says reinstate Monica; 12.10.2012

Хэш местоположения обычно используется для прокрутки к тегу привязки с соответствующим атрибутом имени, поэтому вам потребуется тег, например:

<a name="breadCrumb"></a>

в родительском фрейме, чтобы браузер прокручивал этот контент с хэшем местоположения.

Я не знаком с таким поведением тегов div; это может быть особенностью IE.

person joquarky    schedule 12.10.2012