Добавление кода внутрь script
Привет всем! Пытаюсь заменить на веб-страничке стандартный title более приятным всплывающим окном. Остановил свой выбор на TipTip http://code.drewwilson.com/entry/tiptip-jquery-plugin. Для использования данной функциональности необходимо подключить несколько скриптов к страничке.
Как добавить в пространство между <script>...</script> код? tiptip_body_script = document.createElement('script'); tiptip_body_script.type = "text/javascript"; var script_code = "$(function(){$("#spantext").tipTip();});"; tiptip_body_script.appendChild(document.createText Node(script_code)); document.body.appendChild(tiptip_body_script); Но у меня происходит такая вот лажа: Uncaught SyntaxError: Unexpected token ILLEGAL Причем отсылка идет на строчку var script_code = ... В чем проблема? Не смог нагуглить как добавлять произвольный код внутрь тэга script, поэтому спрашиваю здесь. |
А не проще прописать прям на странице этот скрипт? Зачем все эти пляски с динамическим созданием тега <script> ?
А косяк у тебя в кавычках. И ты бы не создал эту беспонтовую бессмыссленную тему если бы пользовался редактором с подсветкой (notepad++, sublime text etc). Или хотя бы потрудился отформатировать код тут: var script_code = "$(function(){$("#spantext").tipTip();});"; (если не дошло - подсветка поломалась из-за рано закрытой кавычки) |
Спасибо. Можно тогда еще один вопрос.
Я пишу расширение для хрома. Если знакомы с api google, то знаете, что есть так называемые "content script", которые подключаются к текущей веб-странице. Мне бы хотелось динамически подключать jQuery к странице. Метод с добавлением тега script не работает, видимо потому что интерпретатор html внешние ресурсы грузит только при первом проходе. Есть какие-нибудь идеи как это сделать просто и красиво, без запихивания кода jQuery на страницу. Повторяю, такой метод: var lib = document.createElement('script'); lib.type = "text/javascript"; lib.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"; document.head.appendChild(lib); Не работает! |
Цитата:
<head> <script> var lib = document.createElement('script'); lib.type = "text/javascript"; lib.onload = function() { alert( $('<div>ха ха!</div>').html() ) }; lib.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"; document.head.appendChild(lib); </script> </head> Важно понимать, что расширение имеет свой контекст исполнения и не имеет доступа к window и соответственно к window.jQuery . Но к DOM-у доступ есть. Поэтому впринципе нет необходимости подгружать jQuery именно на веб-страницу. Можно же подключить локальную копию к своему расширению и спокойно ее использовать, не ковыряя веб-страницу. |
Часовой пояс GMT +3, время: 14:21. |