2016-08-12 4 views
0

Я использую iMacros в сочетании с JavaScript в Firefox. Необходимые скрипты хранятся на моем жестком диске. Используемые мной сценарии не встроены в веб-сайт. Я знаком с процедурой использования нескольких файлов JavaScript в контексте HTML, но поскольку в этом случае у меня нет этого контекста, есть ли способ продолжить?Как вызвать функции JavaScript из внешнего .js-файла в JavaScript БЕЗ HTML?

Пример: script1.js

function Message(message) { 
    alert(message); 
} 

script2.js

//Some reference to the file script1.js 
var message = "Hello"; 
Message(message); 

В таком случае я хотел бы запустить script2.js и иметь предупреждение всплывал.

Я ценю вашу помощь.

+0

, когда вы говорите: без HTML, что вы имеете в виду? В какой среде вы будете запускать этот код? – dpdragnev

+0

Я предполагаю, что это вопрос для экспертов iMacros @dpdragnev, а не экспертов JavaScript. –

+0

@dpdragnev Я имею в виду, что я не создаю сайт, где у меня есть часть html и часть javascript, и поэтому я не могу вызывать js-файлы из HTML-кода, например ''. У меня только JavaScript для работы. Я запускаю код через расширение браузера iMacros (если это помогает). – Christian

ответ

0

Я привык применять что-то вроде этого:

// Some reference to the file script1.js 
var extScript = imns.FIO.openNode("D:\\Temp\\script1.js"); 
extScript = imns.FIO.readTextFile(extScript); 
eval.apply(window, [extScript]); 

var message = "Hello"; 
Message(message); 
+0

Это работает и помогает мне чрезвычайно. Спасибо! – Christian

+0

Я заметил что-то странное. Если все функции находятся в одном файле '* .js', и я запускаю его в iMacros, все хорошо. Но тогда, если я передаю функции во внешний файл и ссылаюсь на него, как вы предлагали, некоторые из (аутсорсинговых) функций не работают должным образом, то есть они делают разные, если тогда решения. Решения IF THEN в основном ссылаются на элементы DOM в 'window.document. *', Как, например, 'if' там есть элемент' then'. У вас есть идея, что вызывает это и, может быть, даже как избежать этого? – Christian

+0

Попробуйте передать объект окна в эти функции непосредственно как один из параметров. – Shugar