Как загрузить внешние css, js и добавить div в DOM из букмарклета? - PullRequest
2 голосов
/ 21 декабря 2009

Я пытаюсь создать букмарклет, который выполняет следующее:

1.) Загружает внешний js, расположенный на моем сервере (готово)

javascript:function%20loadScript(scriptURL)%20{%20var%20scriptElem%20=%20document.createElement('SCRIPT');%20scriptElem.setAttribute('language',%20'JavaScript');%20scriptElem.setAttribute('src',%20scriptURL);%20document.body.appendChild(scriptElem);}%20loadScript('http://127.0.0.1/main.js?x='+Math.random());

2.) Этот внешний javascript, в свою очередь, загружает jquery и jquery ui, а затем добавляет div в текущий DOM сайта. (не могу заставить это работать)

function loadScripts(scriptURL) {


 var scriptElem = document.createElement('SCRIPT');
 scriptElem.setAttribute('language', 'JavaScript');
 scriptElem.setAttribute('src', scriptURL);
 void(document.body.appendChild(scriptElem));
}


loadScripts('http://127.0.0.1/js/jquery-1.3.2.min.js');
loadScripts('http://127.0.0.1/js/jquery-ui-1.7.2.custom.min.js');


var head = document.getElementsByTagName('head')[0]; 
$(document.createElement('link')).attr({type: 'text/css', href: 'http://127.0.0.1/css/redmond/jquery-ui-1.7.2.custom.css', rel: 'stylesheet'}).appendTo(head);



$(document).ready(function(){
    div = $("<div>").html("Loading......");
    $("body").prepend(div);
});

Проблема, с которой я столкнулся, заключается в том, что я не могу добавить div с определенным идентификатором. Идея состоит в том, чтобы использовать функцию dialog () jqueryui для того, чтобы на любом сайте, который я использую, появлялось изменяемое с возможностью перемещения диалоговое окно. букмарклет на.

$("#dialog").dialog(); 

Как вы можете себе представить, мне нужно загрузить свой контент в определенный div, чтобы я не испортил дизайн сайта, в который был загружен букмарклет.

3.) В только что открывшемся диалоговом окне содержится содержимое удаленного php-файла, который в основном анализирует страницу.

Сценарий готов, мне просто нужно загрузить его в диалоговом окне, которое я пытаюсь создать.

Пожалуйста, помогите, потому что я действительно застрял с этим! Благодаря.

1 Ответ

1 голос
/ 21 декабря 2009

Это помогает? Это та часть, которая доставляет вам проблемы?

$("<div id='id'></div>").html("Loading......");

Документы jQuery говорят:

Весь HTML должен быть правильно сформирован, иначе он может работать некорректно во всех браузерах. Это включает случай, когда $("<span>") может не работать, но $("<span/>") будет (обратите внимание на закрывающую косую черту в стиле XML).

...