2017-08-14 106 views
-3

我正在使用TAU框架開發Tizen可穿戴應用(定位版本2.3.2)。 (事實上​​,它開始了以 「基本TAU應用程序」 模板。)Tizen TAU未定義

每次我打電話

tau.openPopup('process-popup'); 

我收到一個類型錯誤:

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

我已經確定,相應的TAU文件已正確嵌入:

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

該文件存在於「lib」目錄中以及。

更有趣的是,當在通用瀏覽器(即Chrome)中加載應用程序並從控制檯調用應用程序時,該方法就存在了。

自己到目前爲止還沒有人遇到過這個問題,並設法解決它?

我試過到目前爲止:

  • 重塑項目落地了。
  • 將不同版本的TAU移入lib文件夾。
+0

你存儲它的lib/tau嗎? –

+0

是的,它存儲在那裏。 – Julien

回答

-1

問題最初出現,因爲嵌入式瀏覽器試圖在TAU庫甚至加載之前執行訪問TAU功能的腳本。

解決的辦法是確保庫加載完成後,無論是通過註冊

window.onLoad(...) 

處理程序或通過使用更多的「電池列入」 jQuerie的

​​

以在JavaScript引擎加載所有資源之前,停止執行「主代碼」。

但是,如果這仍然不起作用(由於其他問題),您可以通過操縱元素「display」屬性來創建自己的函數來顯示或隱藏塊。

0

「import」或「require」可能是因爲您嘗試使用app.js中的對象。

+0

不幸的是,這種語法似乎無法被嵌入式的javaScript引擎識別。 – Julien

0

我很確定問題在於,您沒有使用合適的選擇器。如果「過程彈出」是你的彈出窗口的ID,用「#過程彈出」作爲選擇應該是這樣的:

tau.openPopup('#process-popup') 

我知道這是一個古老的線程,但有人可能會再次跌入這個問題。 ..

0

TAU openPopup方法在頁面的路由器上下文中運行,然後使用它必須等待頁面小部件完全加載。所以使用頁面事件「pageshow」:

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