Запустите JavaScript в определенном контексте выполнения (iframe)

1

Я пытаюсь написать javascript-код (и поместить его в букмарклет позже), который будет автозаполнять некоторые текстовые поля на веб-странице.

document.getElementById("textboxID").value = "Some Text"

Проблема, с которой я сталкиваюсь, представляет собой контекст выполнения. Этот код работает только в том случае, если я сначала проверяю элемент или вручную изменяет форму контекста выполнения сверху на выбранный (ext-gen65). Изображение 174551.

Что является (или есть) правильным способом для этого?

EDIT: Когда я использую document.getElementById('ext-gen65').contentWindow.document я get Не удается прочитать "документ" неопределенной ошибки.

  • 0
    Отредактировал вопрос.
Показать ещё 2 комментария
Теги:
bookmarklet

1 ответ

1
Лучший ответ

Проблема в том, что идентификатор находится внутри документа Iframe, каждый Iframe имеет свое собственное свойство window.document, в котором находится ваш элемент. Документ можно получить следующим образом:

let Iframe =  document.getElementById('yourIframe').contentWindow.document

let value = Iframe.getElementById("textboxID").value = "Some Text"
  • 0
    Попробовал это и отредактировал вопрос.
  • 0
    Обновил это для вас
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню