Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Добавить к iframe пару строк (https://javascript.ru/forum/misc/65830-dobavit-k-iframe-paru-strok.html)

soulfire 10.11.2016 10:48

Добавить к iframe пару строк
 
Мое почтение!

Гуру, подскажите, возможно ли сделать следующее.

На странице имеется скрипт, который подгружает извне iframe. Т.е. кода самого iframe на странице нет, и редактировать его не получится. Имеет он примерно следующий вид:
<iframe src="https://site.com" width="100%" height="600px" scrolling="no" frameborder="0" allowtransparency="true" style="overflow: hidden;"></iframe>

Он даже не имеет ID.

Так вот вопрос в следующем:
1. Возможно ли добавить ко всем ссылкам в этой фрейме функцию onclick?
2. Можно ли к самому фрейму добавить onload="resizeIframe(this)"? Хотелось бы сделать его автовыравнивание по высоте.

Заранее спасибо!

ksa 10.11.2016 10:53

Цитата:

Сообщение от soulfire
Можно ли к самому фрейму добавить onload="resizeIframe(this)"?

Это ты сможешь проверить самостоятельно, фрейм ведь на твоей странице... ;)
Цитата:

Сообщение от soulfire
Возможно ли добавить ко всем ссылкам в этой фрейме функцию onclick?

Тут можно столкнуться с проблемой безопастности, если УРЛ, что во врейме тебе недоступен.

soulfire 10.11.2016 12:33

Если честно, стало не намного понятней, т.к. я совсем нуб :)

По поводу ссылок ок, понял. А по второму вопросу не очень.

Имеется iframe, который грузится скриптом с другого сайта. Нагуглил, что автовысоту можно настроить следующим образом:

<script>
  function resizeIframe(obj) {
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
  }
</script>


А к фрейму добавить:
<iframe src="..." onload="resizeIframe(this)" />


Так каким образом добавить к фрейму onload="resizeIframe(this)", если в коде страницы нет этого фрейма?

Deff 10.11.2016 13:08

soulfire,
1. Фрейм с иного домена, нежели сайт на котором он расположен ?
Если да, то все js - манипуляции с внутренностями фрейма - запрещены...
Возможны исключения, если основная страница и фрейм имеют общий основной домен
=================================
2. Сделайте пару скриншотов, что не устранивает в высоте фрейма ?
Ибо можно попробовать извернуться css-ом, с основной страницы, где воткнут фрейм

ksa 10.11.2016 15:18

Цитата:

Сообщение от soulfire
Так каким образом добавить к фрейму onload="resizeIframe(this)", если в коде страницы нет этого фрейма?

Понять когда он появляется... Идентифицировать его в скрипте... Добавить нужный обработчик на соответствующее событие...


Часовой пояс GMT +3, время: 12:17.