Member 13941680 Ответов: 0

Букмарклет работает с консоли, но не с закладки


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

По какой-то странной причине мой javascript запускается, когда я запускаю его из консоли (или как фрагмент кода), но я получаю ошибку "не могу установить свойство 'value' null", когда пытаюсь запустить его из меню закладок.

Что я уже пробовал:

Вот пример кода javascript, который я попробовал:
(function(){document.getElementById("textareaID").value="Some text";})();
Я хотел бы отметить, что я пробовал разные селекторы элементов (byClass, query...) и разные атрибуты (даже tabindex) к одному и тому же результату. Также пробовал как в Chrome, так и в IE11.

Я попробовал создать букмарклет самостоятельно
javascript:(function(){document.getElementById("textareaID").value="Some text";})();
и попробовал использовать создателей онлайн букмарклетов для кодирования специальных символов
javascript:(function(){document.getElementById(%22textareaID%22).value=%22Some%20text%22;})();
но безрезультатно.

Букмарклеты определенно работают на странице (пробовал с оповещение "Здравствуйте") но у меня, похоже, есть проблема с "захватом" элементов. Кроме того, я заметил, что идентификаторы некоторых элементов иногда меняются (хотя и не знаю почему), но я всегда проверяю, существует ли идентификатор, который я пытаюсь использовать, или я использую какое-то фиксированное значение, например tabindex. Кроме того, как я уже сказал, он работает при запуске из консоли, так что я не мог его как-то испортить... или мог бы?

0 Ответов