[英]firefox window.onerror event problem - alerts “Script error!” only
[英]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.