подозреваю, что более кросбраузерно будет атачить к head-у
вот код из статьи function attachScript(id, src){ var element = dojo.doc.createElement("script") element.type = "text/javascript" element.src = src element.id = id document.getElementsByTagName("head")[0].appendChild(element) } |
Цитата:
|
не грузит :(
и ИЕ через раз буду стучать бубном... |
Цитата:
|
я упо скопипастил код из статьи.
это часть фреймворка, и dojo.doc Это наврено обертка над document в лданном случае можно спокойно писать document.createElement("script") |
Цитата:
в идеале нужно чтоб работало на window.onload дело в том что изначально срабатывает php script который определяет isset или !isset переменная, и если определена выводит documen.onload, который в свою очередь подгружает файл скрипта работает: <input type="button" onclick="loadscr1()"> <script> function loadscr1() { var scri = document.createElement('script'); scri.setAttribute('type', 'text/javascript'); scri.src = 'new/js/couscr/Script.js'; document.getElementsByTagName('head')[0].appendChild(scri); } </script> не работает: <script> window.onload = function () { loadscr1(); } </script> <script> function loadscr1() { var scri = document.createElement('script'); scri.setAttribute('type', 'text/javascript'); scri.src = 'new/js/couscr/Script.js'; document.getElementsByTagName('head')[0].appendChild(scri); } </script> и через jquery пытался сделать не получилось.. так: <body onload="loadscr1()"> тоже не хотелось бы |
во втором варианте либо поменяй местами теги script, либо объедени их в один(тогда местами можно не менять)
рпоблема в том, что в момент, когда ты пытаешся повесить событие, функция loadscr1() еще не определена Ее надо либо определить в более раннем блоке script либо просто поместить в тот же блок(в таком случае она будет видна, даже если будет написана позже.но только если ее определять как ты написал) <script> function loadscr1() { var scri = document.createElement('script'); scri.setAttribute('type', 'text/javascript'); scri.src = 'new/js/couscr/Script.js'; document.getElementsByTagName('head')[0].appendChild(scri); } window.onload = function () { loadscr1(); } </script> |
пробовал поменять, ща еще попробую
|
первый вариант, предложенный Kolyaj, у меня работает:
window.onload = function() { var s = document.createElement('script'); s.src = '1.js'; document.body.appendChild(s); } 1.js: alert(2); проверял в ie 7, ff 3, opera 9. Либо у тебя более старые версии, либо специфический скрипт |
Цитата:
может попробовать таймаут выставить... секнду-две |
Часовой пояс GMT +3, время: 08:43. |