Свойства и события IFrame - PullRequest
0 голосов
/ 12 июля 2011

Рассмотрим эту ситуацию (и, пожалуйста, не подвергайте сомнению ее обоснованность):

Я хочу, чтобы Google имел IFrame, который занимает ровно половину ширины страницы и полной высоты.Довольно просто достичь.Но я хочу иметь только одну глобальную (для окна) полосу прокрутки.Вот где это становится проблематичным ...

  1. Я хочу, чтобы окно страницы расширилось до высоты IFrame.
    Как мне это сделать?В этот момент я даже изо всех сил пытаюсь получить высоту содержимого IFrame.Конечно, запрос IFrame для высоты не способ сделать это, мне нужно запросить его содержимое.Пробовал $("iframe#google").contents().find('html').height(), но постоянно набирает null.Просто $("iframe#google#).contents() aready возвращает пустой объект.
    Если я как-то понял (с вашей помощью, надеюсь), как я могу обнаружить изменение высоты содержимого IFrame?Есть ли событие, к которому я могу привязать функцию, или setTimeout некрасиво, но единственное решение, чтобы сделать его отзывчивым.

  2. Я хочу знать, когда изменяется URL IFrame (включая хэш-адрес).
    Как мне узнать текущий URL-адрес IFrame?src свойство, похоже, не меняется при переходе в другие места.
    Опять же, при условии, что я понял это, есть событие, которое поможет мне обнаружить это?load, похоже, выполняет свою работу, если основной URL (без хеш-части) изменяется.Но что если я захочу обнаружить изменение URL-адреса хеша?

Буду очень признателен за вашу помощь с этим.


EDIT

Вероятно, стоит отметить, что ни то, ни другое нельзя сделать с помощью Google, так как их междоменная политика не позволяет этого.Если IFrame принадлежит тому же домену, скрипт в первом посте работает.

1 Ответ

1 голос
/ 12 июля 2011
  1. $("#frameId").height($("#frameId").contents().find("html").height());

  2. $('#frameId').contents().find("src").text(); или

    var iframeurl = document.getElementById ('frameId'). GetAttribute ('src')

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