【问题标题】:How can I inspect the window object for mobile safari?如何检查移动 safari 的窗口对象?
【发布时间】:2011-09-06 14:05:05
【问题描述】:

如何检查移动 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],要么是"{}",或者什么都没有

【问题讨论】:

  • 究竟尝试了什么?我们需要看看你执行了什么代码。
  • 编辑了更多信息,谢谢。

标签: javascript jquery iphone mobile safari


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    享受吧!

    【讨论】:

    • 您还需要 iPhone 数据线。
    • @colllin 不一定。如果您的 MacOS 和 iPhone (WiFi) 在同一个网络上,则不需要电缆。我能够在 MacOS 上无线调试 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,您通常应该在迭代对象元素时使用它)。

    【讨论】:

      【解决方案4】:

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

      要启用调试控制台,请打开 设置 应用,转到 Safari 菜单,然后转到 Developer,然后打开调试安慰。回到 Safari,滚动到页面顶部,很明显要做什么才能进入调试控制台。

      【讨论】:

        【解决方案5】:

        我喜欢 jsconsole.com。

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

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

        【讨论】:

        • 很可能最近的浏览器提供了原生的JSON.stringify;这实际上由输出{} 确认:如果浏览器不支持该功能,OP 会收到错误消息。
        • 没有其他人提供真正有效的解决方案,jsconsole.com 最终帮助找到了我需要的移动 safari 信息。
        • 现在,Web Inspector 很糟糕,即使你不能在 Windows 上的 iPhone 上使用它:\
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-06
        • 2011-03-06
        • 2017-01-11
        • 2010-12-29
        • 2012-12-13
        相关资源
        最近更新 更多