2017-05-08 23 views
0

我收到錯誤InAppBroswer:Uncaught SyntaxError:塊範圍聲明..在Android App上加載js時尚不支持。外界嚴格模式

未捕獲的語法錯誤:塊範圍的聲明(讓,常量,函數,類)還不支持外嚴格模式

當以下JS被添加到HTML頭,

; 
;frappe.socket = { 
    open_tasks: {}, 
    open_docs: [], 
    emit_queue: [], 
    ... 
    doc_open: function(doctype, docname) { 
     "use strict"; 
     if (!frappe.socket.last_doc || (frappe.socket.last_doc[0] != doctype && frappe.socket.last_doc[0] != docname)) { 
      frappe.socket.socket.emit('doc_open', doctype, docname); 
     } 
     frappe.socket.last_doc = [doctype, docname]; 
    }, 
    ... 
} 

注意我加了「use strict」;基於現有的stackoverflow線程。我仍然收到錯誤。 鉻調試器指向下面的行。

 frappe.socket.last_doc = [doctype, docname]; 

該瀏覽器是一款在Android Studio Emulator中運行的cordova應用程序。我認爲它使用InAppBrowser。 其他js在此錯誤發生後無法加載。我不確定哪些代碼需要嚴格模式。

相同的代碼在chrome,Edge,FF中沒有「嚴格使用」的情況下運行良好。

回答

0

發現問題:即使Google Chrome開發人員窗口顯示此行,此行是縮小的JS行中的第一條語句。

在看完整縮小的JS線, 我發現這個問題是在另一條線路後,

frappe.socket.file_watcher.on('reload_css', function(filename) { 
    let abs_file_path = "assets/" + filename; 

添加「用嚴格的在這個函數的開始解決了該問題 -

相關問題