Я пытаюсь предварительно заполнить значения внешнего виджета, который он вставляет на страницу.
Согласно документации виджета, можно вручную создать определенный виджет с предварительно заполненными значениями, но, поскольку я могу иметь сотни возможных значений, это будет очень трудоемким и не масштабируемым.
Поэтому я пытаюсь сделать это с помощью Javascript или jQuery.
Как только внешний виджет вставлен, его HTML выглядит так:
<ins class="bookingaff" ...>
<iframe src="...>
#document
<!doctype html>
<html>
...
<form id="..." ...>
...
<input class="searchbox__inp ..." type="search" id="b_destination" name="ss" value="" ...">
</form>
</html>
</iframe>
</ins>
Я пробовал несколько вещей, но ничего не работает. Вот пример:
<script>
var widgetDOMs = document.getElementsByClassName('bookingaff');
var widgetDOM = widgetDOMs[0]
console.log('widgetDOM:', widgetDOM); //until here OK, element found. Console is showing the tree structure written above
//with javascript
var innerDoc = widgetDOM.getElementsByClassName('searchbox__inp');
console.log('innerDoc:', innerDoc); // innerDoc: HTMLCollection []
//with jQuery
var innerDoc = $(widgetDOM).find('.searchbox__inp');
console.log('innerDoc:', innerDoc); // length of innerDoc element is 0
//once the elements inside the document widgetDOM can be accessed, I guess adding the value to the form would be straightforward...
</script>
Что бы я ни пытался, мне не удалось получить доступ ни к какому элементу внутри документа, вставленного с iframe
. Как я могу это сделать?