Как я могу проверить объект окна для мобильного сафари? - PullRequest
11 голосов
/ 01 июня 2011

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

Или, точнее, 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], "{}", либо ничего

Ответы [ 5 ]

35 голосов
/ 06 октября 2012

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

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

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

Примечание. Устройство будет отображаться в меню «Разработчик» ТОЛЬКО, когда Safari активен и работает.

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

4 голосов
/ 01 июня 2011

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

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

console.log(JSON.stringify({a:'a',b:'b'});
1 голос
/ 06 февраля 2014

Вы также можете использовать это, чтобы активировать Firebug на вашем устройстве.Мне понадобилось много времени, чтобы найти это.

http://martinkool.com/post/13629963755/firebug-on-ipad-and-iphone

1 голос
/ 02 июня 2011

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

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

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

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, который обычно следует использовать при переборе элементов объекта).

0 голосов
/ 01 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...