Comment accéder à jQuery, HTML 5 web travailleur
Je n'arrive pas à accéder à jQuery à l'intérieur d'un HTML5 web travailleur. Est-il possible que je peux le faire?
- Juste curieux de savoir... ce que vous essayez d'accéder à partir de jQuery?
- Je hais le jour où vous commencez à avoir besoin synchronisé blocs pour accéder à un élément du dom 🙂 POURQUOI MON $('div') prendre 1 minutes pour revenir?!
- J'étais sous l'impression que les web workers n'ont pas accès au DOM.
- J'ai quelques fonctions dont l'accès Jquery beaucoup. C'est pourquoi j'ai besoin de jquery. Aussi ce propos de Jquery ajax demandes?
- ils ne sont pas, ou au moins devrait pas, mon impression est que les web workers est mieux utilisé pour les scripts externes calcuting les choses ou faire d'autres vastes travail que vous pouvez le faire maintenant à "l'extérieur" pour éviter la place de scripts à l'aide d'une longue période de temps, la pendaison, etc. Et pourquoi vous avez besoin d'une webworker de faire une requête ajax, qui est asynchrone ?
- Cela signifie que j'ai seulement besoin d'utiliser du Javascript. Mais Il va souffrir de navigateur combatiblities.
- jQuery est de la plaine du javascript? Je suis sûr que vous pouvez l'inclure dans un webworker script, mais vous ne savez pas tout, comme les manipulations DOM et Ajax serait de travailler hors de la boîte.
- Mais il porte sur les questions de navigateur compatibilités.
- Et si c'seulement aussi simple que cela. Mais oui, il aplanit certaines incompatibilités entre navigateurs, entre autres choses.
- La plupart des problèmes de compatibilité qu'il gère sont DOM questions, sans accès DOM, ces problèmes ont disparu. @user960567 encore de ne pas mentionner toutes les fonctions spécifiques dont il a besoin - j'ai de forts soupçons qu'il a juste une habitude à inclure jQuery partout.
- "l'accès jquery" est mal définie de cette. L'ensemble de cette question, besoin d'un peu d'amour. 1 moment.
- comment sur de passer la variable
jQuery
lorsque vous nepostMessage()
comme.postMessage(jQuery,ajaxurl,otherData)
? il suffit pas?
Vous devez vous connecter pour publier un commentaire.
tl;dr: inclure ce script avant de jQuery
JQuery initally accède à beaucoup de
document
propriétés pour vérifier les fonctionnalités du navigateur.document
n'est pas défini dans Travailleur et que vous avez réellement ne peut pas créerDocument
exemple dans le web des travailleurs en ce moment. JQuery n'est pas prêt pour le fait que - comme vous avez pu voir dans les commentaires sur votre question, personne ne semble comprendre que feriez-vous avec JQuery sans DOM.Puisque, comme je l'ai dit, JQuery besoins
document
à l'initialisation, j'ai créé un mannequin de faux objet document. Cet objet agit comme véritable document au cours de JQuery tests:Méfiez-vous que ce faux document est uniquement destiné à permettre jQuery pour charger, il ne permettra pas de tout réel DOM opérations.
Exemple d'utilisation:
Script de Test
Vous permet d'essayer différentes versions de JQuery avec mon script.
JSfiddle
Vérifiez que vous utilisez
http://
, mon nom de domaine ne fonctionne pas avechttps://
.Télécharger des scripts
jQuery 3.1.1
. J'ai ajouté ma réponse qui fonctionne avec jQuery 3.1.1La réponse de Tomáš Zato a été correct, mais ne fonctionne plus avec la plus récente version jQuery. J'ai ajouté un peu plus avec jQuery 3.1.1:
Quelqu'un a déjà essayé le jQuery - Pas de DOM Édition? https://github.com/kpozin/jquery-nodom.
C'est un petit sous-ensemble de la bibliothèque jQuery prévu pour une utilisation dans Web Travailleur contextes, où la plupart des navigateur de l'API n'existe pas.
Ce résultat est obtenu principalement par la modification de jQuery instructions de compilation (Makefile) pour inclure uniquement les non-DOM modules.
Cela peut aider à résoudre le problème que cette version n'a pas de DOM de dépendance, qui est un obstacle lors de l'importation de jQuery dans webworker. Essayons de fournir un exemple de code à bientôt pour de ce
Il y a une belle plugin pour utiliser Web Travailleur avec jQuery par l'un de jQuery propres chefs. Découvrez son plugin sur GitHub.
Worker
dans le thread principal. Je suppose que 5 personnes juste upvoted cette réponse sans même s'en cliquant sur le lien.Utilisation:
Ne pas fonctionner comme prévu? Je suppose qu'il en va charger jQuery sans problème, mais la plupart des appels associés à une bonne ole $ ne fonctionne pas comme prévu car il n'est pas DOM l'accès à l'intérieur d'un WebWorker.
document
, ce qui n'est pas définie.Comme alternative, vous pouvez utiliser Plus.
Vous aurez simplement besoin de browserify le module, et le chargement le fichier résultant dans votre site web travailleur. Ensuite, vous serez en mesure d'analyser votre chaîne de document et de la requête comme jQuery n':