2017-06-15 2 views
0

J'ai une application gérée à l'aide de visualforce et d'apex et non d'une application d'éclairage. L'application utilise sharedworker en arrière-plan. Le problème est que l'application fonctionne parfaitement à partir du compte administrateur et je peux voir un travailleur partagé créé pour l'application.Problème de l'application SharedWorker dans Salesforce VisualForce

Mais le problème vient quand nous installons l'application pour les autres utilisateurs. Dans le cas tout fonctionne autre que les fonctionnalités utilisant sharedworker. Lors du débogage, j'ai découvert que pour les utilisateurs non administrateurs, le travail partagé ne se créait pas lui-même. Dans le débogage, j'ai découvert que si j'interromps la cause en utilisant un point d'arrêt, je peux voir le worker partagé dans le débogueur mais je ne peux pas l'inspecter mais dès que je reprends l'exécution du code, le shared le travailleur est retiré.

Ceci est du code, je suis en cours d'exécution pour faire le travailleur commun:

worker = new SharedWorker('/resource/worker', 'eee-salesforce'); 
startWorker(); 

worker est le fichier JS qui a le code de travail partagé.

function startWorker() { 
     worker.port.start(); 
     worker.port.addEventListener('message', function (event) { 
      var parsedEventData = JSON.parse(event.data); 
      var parsedData = parsedEventData.data; 
      switch (parsedEventData.type) { 
       case 'connected': 
        break; 
       case 'reqUser': 
        worker.port.postMessage(['username', getLocalStorageValue("user"), getLocalStorageValue("domain")]); 
        break; 
       case 'incoming': 
        createNotification(parsedData); 
        break; 
       case 'incomingDesktop': 
        createDesktopNotification(parsedData); 
        break; 
       case 'call': 
        break; 
       case 'logout': 
        sforce.interaction.cti.disableClickToDial(); 
        $("#homepage").hide(); 
        $("#login").show(); 
        break; 
      } 
     }); 
     window.addEventListener("beforeunload", function (e) { 
      worker.port.postMessage('unload'); 
      return null; 
     }); 
    } 

Et dans firefox, je reçois cette erreur: The resource from “https://eeesf.na50.visual.force.com/resource/worker” was blocked due to MIME type mismatch (X-Content-Type-Options: nosniff)

Mais j'ai vérifié mes paquets statiques et le type MIME de ce fichier est application/javascript. Je n'ai pas d'idées sur la façon de résoudre ce problème, si quelqu'un rencontre ce problème dans le passé ou une idée de comment résoudre ce problème, je serai reconnaissant pour le conseil.

Répondre

0

Had très similaire utilisation assurez-vous d'utiliser la syntaxe de fusion de force visuelle pour créer le travailleur

travailleur = new SharedWorker ({Resource.Worker $!} ',' Eee-force de vente);