首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何加载外部文件并确保它首先在JSFiddle中运行?

如何加载外部文件并确保它首先在JSFiddle中运行?
EN

Stack Overflow用户
提问于 2012-01-09 23:39:33
回答 4查看 28.1K关注 0票数 19

我有一个JsFiddle here,并添加了Microsoft AJAX通过外部JS/资源部分加载。在AJAX文件加载完成后,如何判断JS代码是否正在运行?

AJAX似乎也没有加载。:(

下面是JSFiddle中的代码:

代码语言:javascript
复制
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);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-15 22:44:39

打开“添加资源”部分并添加外部脚本的url ...

票数 19
EN

Stack Overflow用户

发布于 2013-03-26 22:28:38

jsFiddle的“外部资源”选项卡目前使用起来有些棘手和不稳定。这里定义的资源通常没有正确地包含在代码中。JS和CSS资源的自动识别似乎存在问题。如果发生这种情况,则不会将外部资源添加到结果代码的head部分。您可以通过查看jsFiddle的Result帧的源代码来检查这一点。您会发现在生成的HTML代码中根本没有提到您的MS AJAX资源。

实际上,可以通过向资源的URL添加一个虚拟值来强制正确识别,如下所示(有关更多信息,请参阅->jsFiddle docs):

代码语言:javascript
复制
...&dummy=.js

下面的示例展示了如何将外部Google Maps API资源添加到jsFiddle中(注意最后的伪参数!):

代码语言:javascript
复制
https://maps.googleapis.com/maps/api/js?sensor=false&dummy=.js

不幸的是,这对您不起作用,因为当附加额外的参数时,MS AJAX URL将失败。

一种解决方案(也是目前加载外部资源最安全的方法)是完全避免使用external Resources选项卡,而是在jsFiddle的HTML窗口的第一行手动加载外部代码,如下所示:

代码语言:javascript
复制
<script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js"></script>

下面是为使用该方法而修改的jsFiddle:http://jsfiddle.net/rEzW5/12/

它实际上不会做很多事情(我没有检查其余代码的错误),但至少它不会再抛出JavaScript错误。

票数 20
EN

Stack Overflow用户

发布于 2017-07-18 16:51:50

@Jpsy的方法似乎不再有效(参见我在他的回答下的评论)。

对我来说,在外部资源下添加资源也不起作用。(根据Firefox调试器的说法,它找不到资源)。

我能让外部JavaScript代码(在我的例子中是jquery.backstretch.js)工作的唯一方法是使用谷歌找到一个使用了这个资源(并且有效)的JavaScript,然后分叉这个Fiddle,并将我所有的代码复制/粘贴到HTML,CSS和JavaScript面板中。啊!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8790943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档