簡體   English   中英

iOS Simulator JS錯誤僅警告lineno為0

[英]iOS Simulator JS Error only alerts lineno of 0

在iOS模擬器中運行項目時,XCode是否壓縮/縮小JS? 我正在嘗試使用jQuery調試JS文件,而在iOS Simulator中獲取錯誤數據的方法之一是這樣的:

$(window).error(function(err) {  
    alert('Msg: ' + err.originalEvent.message + ' | Lno: ' + err.originalEvent.lineno);  
}):  

問題在於,被警告的唯一行號是0。message屬性可以正常工作。 當我使用桌面瀏覽器在桌面上運行相同的代碼時,我可以毫無問題地獲得originalEvent對象的lineno屬性,因此我猜想XCode在構建項目時會對我的JS做一些事情。

有什么辦法關閉它嗎?


經過更多調試(並使用此線程中的printObject函數:是否顯示JavaScript對象的內容? ),似乎大多數錯誤對象的屬性在iOS Simulator中都可用。 但是由於某種原因,lineno的值永遠只有0。

這全部來自iOS模擬器的JS錯誤對象:

message: ReferenceError: Can't find variable: URL  
lineno: 0  
returnValue: true  
timeStamp: 1328890716292  
eventPhase: 2  
target: [object DOMWindow]  
defaultPrevented: false  
srcElement: [object DOMWindow]  
type: error  
clipboardData: undefined  
cancelable: true  
currentTarget: [object DOMWindow]  
bubbles: false  
cancelBubble: false  
initErrorEvent: function initErrorEvent() {  
    [native code]  
}  
preventDefault: function preventDefault() {  
    [native code]  
}  
initEvent: function initEvent() {  
    [native code]  
}  
stopPropagation: function stopPropagation() {  
    [native code]  
}  
stopImmediatePropagation: function stopImmediatePropagation() {  
    [native code]  
}  
MOUSEOUT: 8  
FOCUS: 4096  
CHANGE: 32768  
MOUSEMOVE: 16  
AT_TARGET: 2  
SELECT: 16384  
BLUR: 8192  
KEYUP: 512  
MOUSEDOWN: 1  
MOUSEDRAG: 32  
BUBBLING_PHASE: 3  
MOUSEUP: 2  
CAPTURING_PHASE: 1  
MOUSEOVER: 4  
CLICK: 64  
DBLCLICK: 128  
KEYDOWN: 256  
KEYPRESS: 1024  
DRAGDROP: 2048 

Javascript是一種解釋型語言,它不需要像傳統的編譯語言一樣“構建”。 所以不,XCode對您的JS代碼沒有做(或不應該做)任何事情。

問題可能出在IOS或至少IOS Simulator查看代碼的方式上。 桌面瀏覽器和移動瀏覽器之間存在差異,並且為簡單起見,您將不會像在功能更強大的設備上那樣深入了解錯誤日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM