我想在我的 ipad 上的 Safari 上测试我的网站。我只有另一台电脑。有没有办法让我像 ADB 一样使用移动 Chrome 进行远程调试?我在 StackOverflow 上搜索,似乎有一个 Adobe Edge Inspect CC,但我不知道这是否是一个不错的选择。
谢谢!
2019 年 10 月更新
此解决方案不适用于 IOS 12+(resource 1、resource 2)。
于 2017 年 6 月 24 日更新和测试
在 Windows 8 及更高版本上使用 Chrome:
下载并安装节点
下载并安装 iTunes 并将其连接到您的设备。 (应向您的 iPad 显示一个弹出窗口以获取授权)。确保在您的 iPad 中允许 Web 检查器
下载并安装远程 webkit 适配器
使用 Powershell(以管理员身份):
npm install remotedebug-ios-webkit-adapter -g
执行适配器:
使用 Powershell(以管理员身份):
remotedebug_ios_webkit_adapter --port=9000
你应该得到类似的输出:
C:\Windows\system32> remotedebug_ios_webkit_adapter --port=9000 remotedebug-ios-webkit-adapter is listening on port 9000 iosAdapter.getTargets ...
打开 Chrome 并转到以下链接:
铬://检查/#设备
单击“发现网络目标”旁边的配置并添加以下内容:localhost:9000
确保在 safari 上打开要调试的网页,您应该在远程目标下的 chrome 检查器页面上看到它
Extra step for iOS 11 感谢@skaurus
请参阅monkeythedev's answer,了解在装有 iOS 9+ 的 Windows 8+ 机器上进行调试的最简单方法。我使用来自该答案和其他来源的信息以及 recorded a screenshare 更新了 my blog post。如果需要,以下方法仍适用于 iOS 8 及更低版本。
实际上,有一种非常简单的方法可以在 Windows 机器上使用 Firefox 在 iOS 上的 Safari 中调试网站。
注意:Ryan 在下面的评论中写道,这可能仅适用于 iOS 8 及以下版本。我无法确认,但请注意。
我为此写了一篇detailed blog post,但这里是重点:
安装 iTunes 以获取其随附的“Apple Mobile Device Support”和“Apple Application Support”应用程序。 (如果需要,请在之后卸载 iTunes)通过 USB 连接您的 iOS 设备。在 iOS 上启用 Web 检查器(适用于 iOS 6 及更高版本)。在您的 iOS 设备上打开 Safari 并浏览到一个网站。在您的 Windows 机器上打开 Firefox,然后按 Shift + F8 打开 WebIDE,如果您使用 Firefox Developer Edition(任何版本)或 Firefox 37 及更高版本(任何渠道),它应该包括必要的 Valance 插件。出于某种原因,我无法让它连接到我的 iOS 设备,直到我下载了 ios-webkit-debug-proxy-win32 程序并运行它。它会打开一个空白的命令提示符,但是在我打开它后回到 WebIDE 后,我断开了连接,然后重新连接,我看到了我在 Safari 中打开的网站的调试信息。不过,您可能不需要这样做,因为另一个用户只需向他们的防火墙添加一个例外,然后断开/重新连接,它就可以工作了。
可用的调试信息不像 Chrome 开发者工具那样详尽(特别是没有“网络”选项卡),但足以让我能够查看控制台中发生的事情。
https://i.stack.imgur.com/vMZCK.png
2018 年更新:
自原帖以来,博文已死& Telerik App Builder is discontinued,不再提供。添加此更新以通知读者,以防他们没有阅读此答案帖子后面的用户评论。至于博客文章,对于那些仍然感兴趣的人,这里有一个 web cached copy。关于博客,我认为该博客所在的公司已经关闭。
当我有机会时,我会看看我是否保存了应用程序构建器的副本,以便我可以将它发布到网上,供那些仍然有兴趣使用它的人使用,也许还有博客文章的另一个缓存副本。
原始答案
在远程调试时,您可以尝试在 Windows 上使用 Telerik AppBuilder(Windows 客户端)替代 Mac 上的 Safari 调试器。在下面的链接中有一篇不错的博客文章,介绍了执行此操作的步骤。我宁愿不重新发布信息,因为还有屏幕截图,而且有很多文字。但本质上,您安装应用程序,打开它,通过 USB 连接设备,然后您可以在应用程序中找到它并为其打开开发人员工具/调试器。对于非公共网站,您必须使用帖子中记录的一些防火墙配置打开端口 80。
该工具需要许可证,或者您可以使用试用版,之后成为基本版。我认为基本版仍然允许您进行调试。我要亲自试一试。
您也可以尝试这些 iOS 应用程序,您可以在 iTunes 应用商店中找到它们。它们为您提供了移动 Safari 不提供的内置开发人员工具功能(在 iOS 上没有远程调试)。
MIH 工具 - 基本版 https://itunes.apple.com/us/app/mihtool/id584739126?ls=1&mt=8
HTTPWatch 基本https://itunes.apple.com/us/app/httpwatch-basic-http-sniffer/id658886056?mt=8
我试了一下,它们至少比你在 iOS 上获得的移动 Safari 更好,除非你需要完全兼容移动 Safari。我猜这些应用程序的专业版/付费版会为您提供更多/更好的功能。
这个问题是 4 年前的问题,但我觉得值得一提的是另一个与平台无关的选项,上面似乎没有提到:
控制台
它是一种 JavaScript,您可以将其注入到您的页面中,它将覆盖所有本机控制台输出,并将其显示为页面内容之上的叠加层,其详细程度几乎与 Google Chrome 的开发者工具一样好。
在 iOS Safari 以及其他移动浏览器上运行良好 - 只要在浏览器中启用 JavaScript。
如何安装:https://www.npmjs.com/package/vconsole
您将需要 NPM 工具来安装它,但实际上并不需要使用 NPM 来构建您的项目。您可以简单地将 VConsole 安装在单独文件夹中的某个位置,然后从中复制粘贴 vconsole.min.js。
将其注入页面后,将如下所示:
<script type="text/javascript" src="vconsole.min.js"></script>
<script type="text/javascript>let vc = new VConsole(); // this will initialize it.</script>
视觉上非常吸引人,您会在移动/桌面浏览器的页面右下角看到绿色按钮,这将打开控制台覆盖。
井井有条!
当然,它不提供选择元素的能力,查看计算的 css 等,但如果你正在寻找控制台输出和一些网络报告,这个真的很容易使用。
2019 年 10 月
AFAIK,对于最近的 IOS 版本,没有从 PC 调试 IOS 的整体解决方案。
但是,您可以使用以下解决方案之一:
在浏览器本身中显示控制台消息。如here和Sinisa的回答所述。 “remotedebug-ios-webkit-adapter”不适用于调试 IOS 12+。对于 IOS 11,它需要额外的步骤,并且适用于 IOS 10 以及可能更旧的版本。
我使用 PrePros 进行 CSS 预处理,它具有用于移动调试和 Web 检查器的内置服务器。但这仅对本地站点有好处,即使仍然...
以我的经验,这通常不是移动 Safari 的问题,而是一般的 Safari。在这些情况下,尝试正常的 Safari(适用于 Windows)并查看是否出现错误会有所帮助。如果是这样,通过这种方式调试某些东西会容易得多。
我还没有在 PC 上尝试过,但是您应该可以访问 http://[DEVICE_IP_ADDRESS]:9999 进行调试。
9999
?甚至没有意义
2021 年更新:
RemoteDebug 的创建者在这里。我已经构建了一个名为 Inspect 的 RemoteDebug 替代品,它将所有内容打包在一起,带来愉快的体验,并支持从 Windows、macOS 和 Linux 轻松进行 iOS Web 调试,并具有一些额外的功能,例如截屏和 wifi 调试。
chrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/page/1