Добавление кода внутрь 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, время: 12:49. |