Как я могу динамически загружать и запускать javascript script с консоли javascript?

Есть ли один-liner, который я мог бы выполнить в консоли javascript для загрузки и выполнения javascript script из удаленного источника?

Я смотрел, был ли хороший способ загрузить этот script и использовать его для интерактивного экспериментирования на случайных страницах, которые могут не скажите, загружен jQuery.

[edit: Я знаю, что могу динамически создать элемент script, но есть ли лучший способ сделать это?]

Ответ 1

Я написал немного script для этого.

var loadjQuery = function(cb){
   if(typeof(jQuery) == 'undefined'){
     var scr = document.createElement('script');
     scr.setAttribute('type', 'text/javascript');
     scr.setAttribute('src', 'http://code.jquery.com/jquery-latest.js');

     if(scr.readyState){
        scr.onreadystatechange = function(){
            if(scr.readyState === 'complete' || scr.readyState === 'loaded'){
               scr.onreadystatechange = null;
               if(cb === 'function'){
                  args = [].slice.call(arguments, 1);
                  cb.apply(this, args);
               }
            }
        };
     }
     else {
        scr.onload = function(){
           if(cb === 'function'){
              args = [].slice.call(arguments, 1);
              cb.apply(this, args);
           }
        };
     }

     var head = document.getElementsByTagName('head')[0];
     head.insertBefore(scr, head.firstChild);  
   }
}

Это работает кросс-браузер.

изменить

Я обновил этот script как функцию с обратным вызовом. Сводка должна быть:

loadjQuery(function(something){
    // execute code after library was loaded & executed
});

Ответ 2

Ну, довольно просто взять длинный фрагмент javascript и объединить его в одну строку:)

Этот подход требует нескольких строк, которые вы могли бы смешивать togehter в oneliner (но я думаю, вы ищете более короткое решение). Вам придется анализировать содержимое двух тегов script для загрузки библиотек Google AJAX - вот и все. Возможно, вам нужно будет позвонить, чтобы получить первый.

Ответ 4

  1. Перейдите к удаленному источнику (например, https://ajax.googleapis.com/ajax/libs/d3js/5.7.0/d3.min.js).

  2. Выберите весь источник js (ctrl + a) и скопируйте в буфер обмена (ctrl + c)

  3. Перейти на целевой веб-сайт, где вы хотите ввести JS

  4. Откройте консоль, вставьте скопированный источник и нажмите Enter

Все функции библиотеки теперь доступны для вас на консоли целевого сайта.