Подтвердить что ты не робот

Как загрузить внешний файл и убедиться, что он запускается сначала в JSFiddle?

У меня есть JsFiddle здесь и добавлен Microsoft AJAX для загрузки через внешний раздел JS/resource. Как узнать, работает ли мой 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);
4b9b3361

Ответ 1

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

Ответ 2

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

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

...&dummy=.js

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

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

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

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

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

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

На самом деле это не так много (я не проверял, что не так с остальной частью вашего кода), но, по крайней мере, он больше не выдает ошибок JavaScript.

Ответ 3

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

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

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

Ответ 4

@clayRay, вы абсолютно прошли через кожную операцию. Просто решил, что, указав внешний источник в plain html, который в моем случае

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

Использование вкладки External Resources немного не помогло...