Как проверить объект окна для мобильного сафари?

Как проверить объект окна для мобильного сафари?

Или, более конкретно, window.navigator - попытка конвертировать в строку не работает, и я не могу ее изучить в консоли.

Спасибо!

EDIT:

console.log(window.navigator);

console.log(String(window.navigator));

console.log(JSON.stringify(window.navigator));

console.log(window.navigator.serialize());

Также попытался отправить все эти варианты по сокету на сервер и зарегистрировать их там.

Вывод: [object Navigator], "{}" или ничего

Ответ 1

Мне нравится jsconsole.com.

Кроме того, вы можете использовать библиотеку json2.js(https://github.com/douglascrockford/JSON-js), которая предоставит вам функцию JSON.stringify().

console.log(JSON.stringify({a:'a',b:'b'});

Ответ 2

Обновить!!! В OS X вы можете использовать веб-инспектор Safari на устройствах iOS Simulator и iOS 6.

  • Сначала включите меню "Разработчик" в Safari.
  • Затем включите удаленную отладку на устройстве iOS (или симуляторе).

    Settings > Safari > Advanced > Web Inspector (ON)
    
  • Вернитесь в Safari на своем устройстве.
  • Вернитесь на свой компьютер, откройте меню "Разработчик" и выберите устройства (например, iPhone Simulator, iPhone).

Примечание. Вы увидите свое устройство в меню "Разработчик" ТОЛЬКО, когда Safari активен и работает.

Наслаждайтесь!

Ответ 3

Те результаты выглядят совершенно правильно. Например, когда я запрашиваю строчную версию window.navigator, я правильно получаю

console.log(String(window.navigator));
"[object Navigator]"

С другой стороны, когда я запрашиваю определенное значение, я получаю (в Chromium):

console.log(window.navigator.userAgent);
"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24"

И когда я пытаюсь перечислить все элементы, я получаю

for (var i in window.navigator) console.log(i);
language
product
mimeTypes
appVersion
plugins
onLine
platform
vendor
appCodeName
cookieEnabled
geolocation
appName
productSub
userAgent
vendorSub
javaEnabled
getStorageUpdates

(помните, что в приведенной выше строке кода я не проверял hasOwnProperty, который вы обычно должны использовать при итерации над объектами).

Ответ 5

В мобильном сафари нет окна инструментов разработчика. Существует консоль отладки, которая будет сообщать об ошибках в javascript, html и css, но она не находится рядом с инструментами разработчика, которые вы найдете в обозревателе рабочего стола. Эта консоль отладки не позволяет вводить javascript (хотя это можно сделать в адресной строке, например javascript:alert("hi");)

Чтобы включить консоль отладки, откройте приложение настройки, перейдите в меню Safari, затем Разработчик, а затем включите отладку консоль. Вернитесь в Safari, перейдите в начало страницы, и будет очевидно, что делать, чтобы добраться до консоли Debug.