Проблема с запуском нескольких скриптов от Greasemonkey4IE - PullRequest
1 голос
/ 03 июня 2011
//================MyJs.js=========================
var objGreeting = {
   Greetings : function() {
   toolbardiv = document.createElement('toolbardiv'); // create div tag dynamically
   toolbardiv.setAttribute('id',"toolbar"); // give id to it
   toolbardiv.className="top"; // set the style classname

  //set the inner styling of the div tag
   toolbardiv.style.position="absolute";

   //set the html content inside the div tag
   toolbardiv.innerHTML="<input id='Greeting-Button' type='button' value='Login'           onClick='objHello.SayHello()'/>"
   }
},

var objHello = {

   SayHello: function() {
   alert("Hello World");
   }
};

Сейчас все это в одном JS-файле и работает нормально.

Теперь я хочу разделить два вышеупомянутых класса на два разных файла js. Но после этого я не могу вызвать метод SayHello.

Я использую «GreaseMonkey для IE» и IE8 для запуска этого скрипта.

1 Ответ

1 голос
/ 06 июня 2011

Чтобы ваш скрипт динамически вставлял JS, вы можете использовать что-то вроде следующего:

function addJS_Node (text, s_URL)
{
    var scriptNode                      = document.createElement ('script');
    scriptNode.type                     = "text/javascript";

    if (text)  scriptNode.textContent   = text;
    if (s_URL) scriptNode.src           = s_URL;

    document.head.appendChild (scriptNode);
}

addJS_Node (null, 'YourPath/YourJS_File.js');

Обратите внимание, что я не использую IE, поэтому код не тестируется на этой платформе, но должен работать.

В зависимости от веб-страницы, document.body.appendChild может работать лучше.

...