2012-01-09 24 views
18

Tôi có một JsFiddle here và thêm Microsoft AJAX để được tải thông qua phần JS/tài nguyên bên ngoài. Làm cách nào để biết mã JS của tôi có được chạy sau khi tệp AJAX đã tải xong không?Làm cách nào để tải tệp bên ngoài và đảm bảo rằng tệp chạy đầu tiên trong JSFiddle?

Dường như AJAX cũng không tải. :(

Đây là mã trong 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); 
+0

Bạn không thể dán mã MS sau mã của bạn thay vì sử dụng tùy chọn Thêm tài nguyên? – j08691

+0

Tại sao bạn vẫn cần làm điều này? – j08691

Trả lời

16

Open "Thêm Tài" và thêm url của kịch bản bên ngoài của bạn ...

+0

cũng cho các liên kết css bên ngoài – dsdsdsdsd

20

Tab nguồn lực bên ngoài của jsFiddle hiện đang hơi khó sử dụng và không ổn định để sử dụng Các tài nguyên được định nghĩa ở đây thường không được bao gồm chính xác trong mã. Có vẻ như có vấn đề với việc nhận dạng tự động các tài nguyên JS và CSS. phần đầu của mã kết quả Bạn có thể kiểm tra xem bằng cách xem mã nguồn của kết quả fr ame của jsFiddle của bạn. Bạn sẽ thấy rằng tài nguyên MS AJAX của bạn chỉ đơn giản là không được đề cập trong mã HTML kết quả.

Việc công nhận đúng thực sự có thể bị buộc bằng cách thêm một giá trị giả để URL của tài nguyên như thế này (xem ->jsFiddle docs để biết thêm):

...&dummy=.js 

Dưới đây là một ví dụ cho thấy làm thế nào để thêm bên ngoài Google Maps API để tài nguyên một jsFiddle (tâm giả tham số vào cuối,!):

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

Đáng tiếc là điều này sẽ không làm việc cho bạn như URL MS AJAX sẽ thất bại khi tham số bổ sung là nối thêm.

Một giải pháp (và hiện cách an toàn nhất để tải các tài nguyên bên ngoài) là để tránh tab Tài bên ngoài hoàn toàn và nạp mã bên ngoài bằng tay trong dòng đầu tiên (s) của cửa sổ HTML jsFiddle của như thế này:

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

Đây là jsFiddle của bạn đã được sửa đổi để sử dụng phương pháp đó: http://jsfiddle.net/rEzW5/12/

Nó thực sự không thực hiện nhiều (tôi không kiểm tra mã còn lại với mã còn lại), nhưng ít nhất nó không ném lỗi JavaScript nữa.

+1

Tôi tin rằng cũng đủ để thực hiện '# .js' ở cuối url, ít nhất là trong phiên bản hiện tại của JSFiddle. Có lẽ các tài sản không thích tham số truy vấn bổ sung sẽ chơi tốt hơn w/đó. – diurnalist

+0

Thật không may ngày nay phương pháp này dường như không còn hoạt động nữa. Nếu bạn cố gắng tải mã JavaScript theo cách thủ công, nó sẽ không hoạt động, nhưng thay vào đó sẽ hiển thị thông báo "Đối với JavaScript, hãy sử dụng bảng bên dưới hoặc bảng Tài nguyên cho các tệp bên ngoài". – clayRay

1

Cách tiếp cận của @ Jpsy dường như không còn hoạt động nữa (xem bình luận của tôi dưới câu trả lời của anh ấy).

Đối với tôi, việc thêm tài nguyên bên ngoài Tài nguyên bên ngoài cũng không hoạt động. (Theo trình gỡ lỗi Firefox, nó không thể tìm thấy tài nguyên).

Cách duy nhất tôi có thể nhận được một mã JavaScript bên ngoài (trong trường hợp của tôi là jquery.backstretch.js) để hoạt động, là sử dụng Google để tìm một Fiddle sử dụng tài nguyên này (và đã hoạt động), sau đó là Fork Fiddle này và sao chép/dán tất cả mã của tôi vào các bảng HTML, CSS và JavaScript. Ugh!

0

@clayRay, Bạn hoàn toàn đã thực hiện một cuộc giải phẫu mã. Chỉ cần giải quyết điều đó bằng cách đề cập đến nguồn bên ngoài trong html thuần túy trong trường hợp của tôi là

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

Sử dụng tab Tài nguyên bên ngoài không giúp được gì một chút ...

Các vấn đề liên quan