2011-07-30 17 views
5

jQuery öğesinden, bir Web Çalışanı'nda, window veya document nesnelerine erişiminin olmadığı bir dizi yardımcı program kullanabilmeyi isterim.jQuery öğesinin Non-DOM alt kümesi

Özellikle, $.extend(), $.ajax() ve tüm $.Deferred() sistemi gibi yöntemleri kullanabilmeyi isterim. Açıkçası herhangi bir DOM çaprazlama ve manipülasyon yöntemine ihtiyaç duymayacağım, bu yüzden JSDOM gibi bir çözüm aramıyorum.

jQuery öğesinin DOM olmayan kısımlarını kendim ayıklayabilirim, ancak bu, sürdürülecek bir acıdır. DOM olmayan bölümleri oluşturan jQuery için herhangi bir kullanılabilir dağıtım veya komut dosyası var mı?

+0

sadece jQuery standart sürümünü kullanmak ve sadece window' 'güvenmek ve' document' herhangi işlemleri çağıran önlemek olamaz mı? – aroth

+0

@aroth, bu çok zordur çünkü jQuery'nin başlatma kodu (yalnızca istemci kodu tarafından açıkça adlandırılan yöntemler değil), tam tarayıcı API'sinin varlığına dayanır. – kpozin

+0

[jQuery.Hive] gibi (https://github.com/rwldrn/jquery-hive/blob/master/jquery.hive.pollen.js) bunu kısmen yapmaya çalışır, ancak bir jQuery yöntemleri çok ve jQuery sürüm döngüsü ile senkronize görünmüyor. – kpozin

cevap

3

Cevabım: https://github.com/kpozin/jquery-nodom.

Şimdilik, $.Deferred() ve bir Web Çalışanı bağlamında $.ajax() alt kümesiyle çalışıp test ettim. Belgeler ve daha sonra gelen test takımları.

bir başlangıç ​​test inşa mevcuttur: jquery.nodom.js

+0

Harika! Son işin birkaç yıl önce olduğunu gördüm - jQuery'nin yeni sürümlerinde herhangi bir değişiklik olmadı mı? Yoksa bu proje korunmuyor mu? –

+1

Bunu sürdürmüyorum çünkü bir süredir ihtiyacım olmadı. , iyi bir DOM olmayan bir alternatiftir [underscore.Deferred] (https://github.com/wookiehangover/underscore.Deferred). Eğer birisi $ .ajax' API'sine uyan bir 'XMLHttpRequest' sargısına rastlarsa, lütfen yorum yapın . – kpozin

0

jQuery açık kaynak kodludur, git repo'yu kolayca klonlayabilir, istediğiniz parçaları toplayan bir yapı reposı oluşturabilir (jQuery geliştirmesinin modüllere ayrıldığına inanıyorum) ve jQuery'nizi koruyarak yapı sistemini gözden geçirebilirsiniz. klonu bugüne kadar. Daha sonra enayi bu kaynağı açabilir ve bu sorunu iyi bir şekilde çözebilirsiniz. Birisi zaten bu belirli question in this thread adreslenmiş olabilir gibi görünüyor.

+1

Challenge kabul! – kpozin

+0

İşte [çözüm] (http://stackoverflow.com/questions/6881344/non-dom-subset-of-jquery/6887621#6887621) – kpozin

İlgili konular