location.hash в iframe прокручивает родительское окно - PullRequest
4 голосов
/ 18 июня 2010

У меня есть страница с iframe.Внутри iframe находится код (который я не могу изменить), который устанавливает location.hash для идентификатора элемента в окне iframe.

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

Есть ли способ предотвратить установку location.hash, влияющего на позицию прокрутки в главном окне?

Поможет ли мне здесь предотвращение дефолта?

РЕДАКТИРОВАТЬ: Похоже, что на самом деле это невозможно, как я описал.

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Если warnDefault не делает то, что вам нужно, вы можете динамически перемещать местоположение <a name='iframehash'> так, чтобы оно всегда находилось в верхней части экрана. Таким образом, когда вызывается вызов для перехода к тому хэшу, который он собирается, на самом деле ничего не будет перемещаться.

Но если метод protectDefault () работает, это гораздо лучшее решение.

0 голосов
/ 18 июня 2010

Вы можете использовать:

event.preventDefault()

Это остановит действие по умолчанию элемента, к которому он применяется.

https://developer.mozilla.org/en/DOM/event.preventDefault

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...