2017-05-06 45 views
0

的錯誤我是一個新手在JS編程,我雖然在intel XDk嘗試。 我瀏覽了一些視頻,根據一個教程,我遵循了與他完全相同的步驟, 但是不幸的是,他在仿真器中獲得了腳本,而我的警報沒有定義(W117),但是他沒有得到那個錯誤。英特爾XDK JavaScript給出'警告沒有定義(w117)

我的JS代碼如下:

/*jshint browser:true */ 
/*global $ */(function() 
{ 
"use strict"; 
/* 
    hook up event handlers 
*/ 
function register_event_handlers() 
{ 


    /* button #submit */ 
    $(document).on("click", "#submit", function(evt) 
    { 
     /* your code goes here */ 

     var name = document.getElementById('name').value; 
     var place = document.getElementById('place').value; 
     var job = document.getElementById('job').value; 
     var gender = document.getElementById('gender').value; 
     var reason = document.getElementById('reason').value; 

     var text = name + place + job + gender + reason ; 
     alert(text); 
     return false; 
    }); 

    } 
document.addEventListener("app.Ready", register_event_handlers, false); 
})(); 

任何幫助表示讚賞..

+0

如果你嘗試搜索,你應該看到這個http://stackoverflow.com/questions/8173364/alert-is-not-defined-when-running-www-jshint-com – Roljhon

+0

@Roljhon我確實改變了警告window.alert。現在它不會出現錯誤,但當我嘗試模擬它時,它不顯示錯誤消息。 – harishk

回答

0

我沒有完整的JS代碼,並不能找到一個「app.Ready」事件(正接受在負載上運行看起來像)。基於jQuery的「準備好」的事件進行檢查只需使用下面的代碼:

$(document).on("click", "#submit", function(evt) { 
     var name = document.getElementById('name').value; 
     var place = document.getElementById('place').value; 
     var job = document.getElementById('job').value; 
     var gender = document.getElementById('gender').value; 
     var reason = document.getElementById('reason').value; 

     var text = name + place + job + gender + reason; 
     alert(text); 
     return false; 
    }); 
0

隨着XDK的3900(或更高版本)的版本有一個已知問題的alert()(及相關)功能不再裏面工作模擬選項卡。這是由於升級了構建在XDK基礎之下的node-webkit映像中的Chromium版本。目前沒有解決方法,除了使用Cordova dialogs plugin作爲替代方案。

請注意,在某些WebView中(Cordova應用在真實設備上運行時運行的運行時),alert()函數不存在,因爲它是一個可選功能並且不是必需的。請記住,您的Cordova應用程序實際上並不在瀏覽器中運行,它運行在嵌入式運行時中,感覺有點像瀏覽器,但事實並非如此。就像Node.js應用程序有一個JavaScript運行時引擎一樣,WebView也是如此,但兩者都不在瀏覽器中運行。

一般而言,使用alert()函數對於真實應用程序不是一個好的選擇。