iOS Simulator JS Error только предупреждает белья 0 - PullRequest
0 голосов
/ 10 февраля 2012

XCode сжимает / минимизирует JS при запуске проекта в iOS Simulator?Я пытаюсь отладить файл JS с помощью jQuery, и один из способов получения данных об ошибках в симуляторе iOS выглядит следующим образом:

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

Проблема состоит в том, что единственный номер строки, о котором сообщается, равен 0Свойство сообщения работает нормально.Когда я запускаю тот же код на своем рабочем столе с помощью браузера на рабочем столе, я могу без проблем получить свойство lineno объекта originalEvent, поэтому я предполагаю, что XCode что-то делает с моим JS при сборке проекта.

Любой способ отключить это?


После еще большей отладки (и использования функции printObject из этого потока: Печать содержимого объекта JavaScript? ), кажется, что большинствосвойства объекта ошибки доступны в симуляторе iOS.По какой-то причине, бельё всегда имеет значение 0, однако.

Это все из объекта ошибки JS iOS Simulator:

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 

1 Ответ

0 голосов
/ 10 февраля 2012

Javascript - это интерпретируемый язык, и его не нужно «собирать», как это делают традиционные скомпилированные языки.Так что нет, XCode ничего не делает (или не должен делать) с вашим кодом JS.

Проблема, скорее всего, заключается в том, как IOS или, по крайней мере, IOS Simulator просматривает ваш код.Существуют расхождения в браузере настольного компьютера и мобильном браузере, и ради простоты вы вряд ли получите такую ​​же подробную информацию о журнале ошибок, как на более мощном устройстве.

...