динамическая загрузка и выгрузка файлов Javascript в файле сценариев Windows (WSF) - PullRequest
0 голосов
/ 24 марта 2012

Я хотел бы иметь возможность динамически загружать файл Javascript в WSF.Я не думаю, что DOM отсутствует, но если бы он был, я мог бы попробовать что-то вроде:

function addJavascriptFile(filename) {
    var file = document.createElement('script')
    file.setAttribute("type", "text/javascript")
    file.setAttribute("src", filename)
}

После запуска функции я мог бы выгружать что-то вроде:

 function removeJavascriptFile(filename) {
 var all = document.getElementsByTagName("script")
 for (var i = all.length; i >= 0; i--) {
     if (all[i] && all[i].getAttribute("src") != null && all[i].getAttribute("src").indexOf(filename) != -1)
         all[i].parentNode.removeChild(all[i])
     }
 }

Кто-нибудь знает, есть ли что-то эквивалентное без использования DOM?

1 Ответ

0 голосов
/ 25 марта 2012

Я нашел способ сделать это, но, надеюсь, кто-нибудь найдет лучшее решение.Я отвечу на свой вопрос в случае, если кто-то столкнется с той же проблемой.

Учитывая, что DOM отсутствует, я просто eval(javascriptFileContents) проверяю содержимое файла и затем напрямую вызываю функцию-литерал.Например, если у меня есть файл wombat.js с function (logger) {... внутри:

var logger = ...
var fn = eval(wombatJsContents);
fn(logger);

Это не красиво и, вероятно, немного опасно, но работает.Я надеюсь, что кто-то найдет лучший путь.А пока ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...