2017-08-14 3 views
-3

Je travaille sur une application Tizen Wearable (ciblant la version 2.3.2) en utilisant le framework TAU. (En fait, il a commencé avec la "application TAU de base" modèle.)Tizen TAU is undefined

Chaque fois que je fais appel

tau.openPopup('process-popup'); 

Je reçois un TypeError:

TypeError: 'undefined' is not a function (evaluating 'tau.openPopup('process-popup')') 

Je me suis assuré, que le fichier TAU correspondant est incorporé correctement:

<script type="text/javascript" src="lib/tau/wearable/js/tau.min.js"></script> 
<script src="app.js"></script> 

Le fichier est présent dans le répertoire "lib" ainsi que. Plus intéressant, la méthode est présente lors du chargement de l'application dans un navigateur générique (c'est-à-dire Chrome) et en l'appelant à partir de la console.

Quelqu'un at-il déjà rencontré ce problème et réussi à le résoudre?

Ce que j'ai essayé jusqu'à présent:

  • Recréer le sol projet vers le haut.
  • Déplacement d'une version différente de TAU dans le dossier lib.
+0

Avez-vous stocké lib/tau? –

+0

Oui, il est stocké là. – Julien

Répondre

-1

Le problème est apparu à l'origine, car le navigateur intégré a tenté d'exécuter le script, qui accédait à la fonctionnalité TAU, avant même que la bibliothèque TAU ne soit chargée.

La solution est de faire en sorte que la bibliothèque a terminé le chargement, que ce soit par l'enregistrement d'un

window.onLoad(...) 
gestionnaire

ou en utilisant le plus « batterie incluse » jQuerie de

$(function(){...}) 

pour interrompre l'exécution du "code principal" jusqu'à ce que toutes les ressources aient été chargées par le moteur javascript.

Si cela ne fonctionne toujours pas (en raison d'autres problèmes), vous pouvez créer vos propres fonctions pour afficher ou masquer des blocs en manipulant simplement la propriété "display" des éléments.

0

Un 'import' ou 'require' peut-être puisque vous essayez d'utiliser l'objet de app.js peut-être.

+0

Malheureusement, cette syntaxe ne semble pas être reconnue par le moteur javaScript intégré. – Julien

0

Je suis assez sûr que le problème est, que vous n'utilisez pas un bon sélecteur. Si « processus-popup » est l'ID de votre pop-up, utilisez « # processus pop-up » comme sélecteur devrait ressembler à:

tau.openPopup('#process-popup') 

Je sais que c'est un vieux fil, mais quelqu'un peut tomber dans ce problème à nouveau.

0

La méthode TAU openPopup s'exécute avec le contexte de page Routeur, alors pour l'utiliser, vous devez attendre le chargement complet des widgets de page. Donc, utilisez l'événement de page "pageshow":

// get element from your div with class="ui-page" 
var page = document.getElementById("pageIndicatorPage"); 
page.addEventListener("pageshow", function() { 
    tau.openPopup('#process-popup'); 
});