Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Llamada HTML Web Worker y Jquery Ajax

Me pregunto si puedo usar jQuery dentro del archivo del trabajador web. Google Chrome me da este error: "Error de referencia no detectado: $ no está definido".

Aquí está el código: El archivo principal:

 var loader = new Worker(BASE_URL + "js/rss_loader_worker.js"); // Ask the worker to start loading the RSS from the server loader.postMessage("loadRss"); // When receive the response from the server loader.onmessage = function (event) { console.log(event.data); }

El archivo del trabajador:

 onmessage = function (event) { if (event.data === "loadRss") { loadRss(); } } /** * This function handles the AJAX request to the server side * then pass the content to the view page * @param none * @return html text */ loadRss = function () { $.ajax({ data: {city: CITY_LOCATION}, url: BASE_URL + "/getfeeds", onsucess: function (data) { } }); }

Por favor ayuda, gracias :)

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

No, no puedes . No hay acceso a los componentes que no son seguros para subprocesos o al DOM y debe pasar datos específicos dentro y fuera de un subproceso a través de objetos serializados. Así que tienes que trabajar muy duro para causar problemas en tu código. jQuery es una biblioteca DOM de JavaScript .

Sin embargo, puede usar un XMLHttpRequest nativo en su trabajador.

Y, la importación de scripts externos no pasa por la página con una etiqueta de script : use importScripts() para eso en su archivo de trabajo.

over 4 years ago · Santiago Trujillo Relatório

0

Esto es lo que encontré:

Puede cargar bibliotecas o archivos de secuencias de comandos externos en un trabajador con la función importScripts() .

http://www.html5rocks.com/en/tutorials/workers/basics/#toc-enviornment-loadingscripts

 importScripts('script1.js'); importScripts('script2.js');

o

 importScripts('script1.js', 'script2.js');

Aunque no puede cargar jQuery, porque jQuery requiere acceso DOM, que los trabajadores web no tienen.

over 4 years ago · Santiago Trujillo Relatório

0

Dado que los trabajadores web están en archivos externos, no tienen acceso a los siguientes objetos de JavaScript:

  • El objeto de la ventana
  • El objeto del documento
  • El objeto padre

Entonces no puede usar $ dentro del archivo de trabajo. Mejor puedes usar AJAX tradicional algo como esto

 if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }

Referencia en http://www.w3schools.com/html/html5_webworkers.asp

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda