При нажатии на кнопку подключать внешний js-скрипт
Делаю так:
document.getElementById('id').innerHTML='<scr'+'ipt type="text/javascript" src="url"></scr'+'ipt>' При нажатии на кнопку скрипт вставляется в элемент id, но не запускается. Как сделать, чтоб он отрабатывал? |
Shurik,
может тут что поможет http://learn.javascript.ru/onload-onerror |
Потому что скрипта по ссылке url нету. Это ж не php, тут переменные внутри строк не парсятся.
|
Цитата:
|
Shurik,
document.getElementById(id).innerHTML='<scr'+'ipt type="text/javascript" src="'+url+'"></scr'+'ipt>' |
document.getElementById(id).innerHTML='<script type="text/javascript" src="'+url+'"></scr'+'ipt>' А теперь вопрос вам: почему именно так? |
Цитата:
|
рони, я имел ввиду: почему так:
document.getElementById(id).innerHTML='<script type="text/javascript" src="'+url+'"></scr'+'ipt>'а не так document.getElementById(id).innerHTML='<scr'+'ipt type="text/javascript" src="'+url+'"></scr'+'ipt>'? |
Aetae,
в основном потому что ошибки возникают на закрывающий тег - я сам когда так нужно просто ставлю слеш document.getElementById(id).innerHTML='<script type="text/javascript" src="'+url+'"><\/script>' |
Это не ошибки же. Просто закрывающий тег закрывает текущий inline <script>. Вот и всё. При загрузке внешнего скрипта такого естественно не происходит.
Меня раздражают люди, что тупо по подобию разрывают открывающий тег. Это говорит о них как о существах с мистическим подходом к жизни. Shurik, script подключённый через innerHTML не исполнится, используйте: function loadScript(url) { var script = document.createElement('script'); script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } |
Часовой пояс GMT +3, время: 03:47. |