Страницы: 1
У меня был букмарклет (и не один, что ужасно), который добавлял к содержимому документа некие скрипты и тут же их вызывал. Раньше (до 2.0.0.2) всё прекрасно работало. Теперь - не работает.
Идея такая. Запускаясь, букмарклет дописывает к <head> некий фрагмент. Потом его вызывает:
javascript: (function(){ function addscript(){ var js=document.createElement("script"); js.setAttribute("language","JavaScript"); js.setAttribute("type","text/javascript"); js.text="function someactions(){alert('hello');}"; document.getElementsByTagName('head').item(0).appendChild(js); } function runscript(){ someactions(); } addscript(); runscript(); } )()
Сейчас происходит такая неприятность: при вызове добавленного скрипта оказывается, что его ещё нет.
Что случилось? Что изменили? И как теперь быть?
Отредактировано hasherfrog (01-03-2007 14:31:23)
Отсутствует
делать задержку перед запуском.
javascript: (function(){ var js=document.createElement("script"); js.setAttribute("language","JavaScript"); js.setAttribute("type","text/javascript"); js.text="function someactions(){alert('hello');}"; document.getElementsByTagName('head').item(0).appendChild(js); setTimeout("someactions()", 0); } )()
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Спасибо. Работает. Честно говоря, я сам бы сообразил, если бы так не запаниковал. Именно таким же образом (через setTimeout) я уже разруливал похожие проблемы (с greasemonkey, ЕМНИП). Дурацкая моя ошибка сейчас была в том, что я в запарке стал писать setTimeout(somefunction(),500); вместо setTimeout("somefunction()",500); - и как результат... :] А-а-а... небо падает! :-)
Спасибо.
Отсутствует
Похоже, это баг 371720
Отредактировано Lynn (03-03-2007 18:38:01)
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Такая же проблема возникла у меня, когда я пытался послать запрос через XMLHttpRequest в начале загрузки страницы. Долго бился, думал что ошибка в скрипте.
Спасает только workaround в виде setTimeout().
Отсутствует
Страницы: 1