Как загрузить внешний файл и убедиться, что он запускается первым в JSFiddle? - PullRequest
19 голосов
/ 09 января 2012

У меня есть JsFiddle здесь , и добавлен Microsoft AJAX для загрузки через раздел внешних JS / ресурсов. Как я могу узнать, выполняется ли мой код JS после завершения загрузки файла AJAX?

Кажется, что AJAX также не загружается. (

Вот код в JSFiddle:

Type.registerNamespace("Tutorial.Chapter1");
Tutorial.Chapter1.Person = function(firstName, lastName) {
    this._firstName = firstName;
    this._lastName = lastName;
};
Tutorial.Chapter1.Person.prototype = {
        set_firstName: function(value) {
            this._firstName = value;
        },
        get_firstName: function() {
            return this._firstName;
        },
        set_lastName: function(value) {
            this._lastName = value;
        },
        get_lastName: function() {
            return this._lastName;
        },
        _firstName: "",
        _lastName: "",
        displayName: function() {
            alert("Hi! " + this._firstName + " " + this._lastName);
        }
    };
Tutorial.Chapter1.Person.registerClass("Tutorial.Chapter1.Person", null);

Ответы [ 4 ]

20 голосов
/ 26 марта 2013

Вкладка внешних ресурсов jsFiddle в настоящее время несколько хитрая и нестабильная в использовании.Определенные здесь ресурсы часто неправильно включены в код.Кажется, есть проблема с автоматическим распознаванием ресурсов JS и CSS.Если это происходит, внешний ресурс просто не добавляется в раздел заголовка полученного кода.Вы можете проверить это, просмотрев исходный код фрейма Result вашего jsFiddle.Вы обнаружите, что ваш ресурс MS AJAX просто НЕ упоминается в итоговом HTML-коде.

На самом деле правильное распознавание может быть принудительно добавлено путем добавления фиктивного значения к URL-адресу ресурса, как это (см. -> jsFiddle).документы для получения дополнительной информации):

...&dummy=.js

Вот пример, показывающий, как добавить внешний ресурс API Карт Google в jsFiddle (обратите внимание на параметр dummy в самомконец!):

https://maps.googleapis.com/maps/api/js?sensor=false&dummy=.js

К сожалению, это не сработает для вас, так как URL MS AJAX не будет работать при добавлении дополнительных параметров.

Решение (и в настоящее время самый безопасный способ загрузкивнешние ресурсы), чтобы вообще избежать вкладки «Внешние ресурсы» и вручную загрузить внешний код в первую строку (и) HTML-окна jsFiddle, например:

<script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js"></script>

Вот ваш jsFiddle, модифицированный для использования этого метода: http://jsfiddle.net/rEzW5/12/

Это на самом деле мало что делает (я не проверял, что не так с остальным кодом), но, по крайней мере, не выдает JavaScriptRors больше.

19 голосов
/ 15 марта 2012

Откройте раздел «Добавить ресурсы» и добавьте URL вашего внешнего скрипта ...

1 голос
/ 18 июля 2017

@ Подход Jpsy больше не работает (см. Мой комментарий под его ответом).

Для меня добавление ресурса в разделе «Внешние ресурсы» также не сработало. (Согласно отладчику Firefox, он не может найти ресурс).

Единственный способ получить внешний бит кода JavaScript (в моем случае jquery.backstretch.js) - это использовать Google, чтобы найти Fiddle, который использовал этот ресурс (и работал), а затем распаковать это Возьмите и скопируйте / вставьте весь мой код в панели HTML, CSS и JavaScript. Тьфу!

0 голосов
/ 13 октября 2017

@ clayRay, вы прошли операцию с кодом. Просто решил, что, упомянув внешний источник в простой HTML, который в моем случае

    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

Использование вкладки «Внешние ресурсы» немного не помогло ...

...