如何检查移动safari的窗口对象?

如何检查移动safari的窗口对象?

或者更具体地说是window.navigator – 尝试转换为字符串不起作用,我也无法在控制台中探索它。

谢谢!

编辑:

console.log(window.navigator);

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

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

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

还尝试通过套接字将所有这些变体发送到服务器并将其记录在那里。

输出是[object Navigator]"{}"或什么都没有

我喜欢jsconsole.com。

此外,您可以使用json2.js库(https://github.com/douglascrockford/JSON-js),它将为您提供JSON.stringify()函数。

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

更新! 在OS X上,您可以在iOS模拟器和iOS 6设备上使用Safari Web检查器。

  1. 首先在Safari中启用Developer菜单。
  2. 接下来,在iOS设备(或模拟器)上启用远程调试。

     Settings > Safari > Advanced > Web Inspector (ON) 
  3. 在设备上返回Safari。
  4. 返回计算机,单击开发人员菜单,然后选择您的设备(例如iPhone模拟器,iPhone)

注意:只有当Safari处于活动状态且正在运行时,您才会在“开发人员”菜单中看到您的设备。

请享用!

这些输出看起来完全正确。 例如,当我要求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 ,通常在迭代对象元素时应该使用它)。

您也可以使用它来激活设备上的Firebug。 花了我很多时间才找到这个。

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

移动版Safari中没有“开发人员工具”窗口。 有一个调试控制台,它将报告javascript,html和css中的错误,但它远不及桌面浏览器中的开发人员工具。 这个调试控制台不允许输入javascript(虽然这可以在地址栏中完成,例如javascript:alert("hi");

要启用调试控制台,请打开设置应用程序,转到Safari菜单,然后打开Developer ,然后打开调试控制台。 返回Safari,滚动到页面顶部,显示如何进入调试控制台。