70

我正在开发一个移动网站。它适用于 Firefox 桌面。它适用于 iPhone,但是当我在 Android 2.x(可能更低)上按下按钮时。我的 JavaScript 代码崩溃或其他什么...

我可以访问这些设备的记录器或 JavaScript 控制台吗?

更好的应该是一种 Firebug 应用程序。

4

15 回答 15

45

一种选择是weinre。它与控制台一起提供 DOM 和样式编辑。如果您不想自己设置,可以在http://debug.phonegap.com上托管一个实例

另一个选项是JSHybugger。它无疑是适用于安卓浏览器的最完整的调试环境。这是一个付费产品,但可能值得。

于 2011-05-13T00:53:30.043 回答
34

Chrome 有一个非常好的功能,称为“USB Web 调试”,当通过 USB 连接时,它允许在您的 PC 上查看移动设备的调试控制台。

有关更多详细信息,请参见此处。

编辑:Windows 8 似乎不支持 ADB,但这个链接似乎提供了一个解决方案:

http://mikemurko.com/general/chrome-remote-debugging-nexus-7-on-windows-8/

于 2012-05-30T12:48:32.153 回答
12

您可以about:debug在某些移动浏览器中键入内容以调出 JavaScript 控制台。

于 2012-04-23T21:12:53.457 回答
7

我有时会将调试输出打印到浏览器窗口。使用jQuery,您可以将输出消息发送到页面上的显示区域:

<div id='display'></div>

$('#display').text('array length: ' + myArray.length);

或者,如果您想在不向页面添加显示区域的情况下查看 JavaScript 变量:

function debug(txt) {
    $('body').append("<div style='width:300px;background:orange;padding:3px;font-size:13px'>" + txt + "</div>");
}
于 2012-10-29T08:24:01.700 回答
3

我有同样的问题,只需使用console.log(...)(如 firebug),并安装一个日志查看器应用程序,这将允许您查看浏览器的所有日志。

于 2011-05-30T15:34:05.557 回答
2

我们在我们的项目中按照以下步骤在移动设备上调试网站。

  1. 在移动设备和桌面设备上安装 mobogenie 软件(两者版本相同)。
  2. 在移动 Google Chrome 浏览器中打开您的网站。
  3. 在桌面上打开谷歌浏览器。转到选项-->更多选项-->检查设备
  4. 在这里,您可以找到在移动设备上打开的站点列表,然后单击检查,您将获得所需的 JavaScript 控制台。
于 2015-02-05T06:55:08.063 回答
1

“USB Web 调试”是一种选择

“在屏幕上打印”另一个。

但我更喜欢通过正式称为adobe shadow的“ adobe edge inspect ”进行远程调试。它在内部使用weinre (=WEB INspect REmote)

您只需在浏览器 (Chrome) 中安装它 + 一个小插件和一个可以在 Play-store 中下载的免费应用程序。然后你就拥有了所有的工具,比如 Chrome 开发工具。

它还支持 iOS 和 Kindle Fire

更新

就像 Chris 注意到的那样,您必须付费订阅才能使用边缘检查。一个便宜的替代方法是直接使用 weinre,它是边缘检测的基础。这是一篇关于如何设置它的文章。

于 2012-10-29T08:53:55.840 回答
1

如果您使用的是 Cordova 3.3 或更高版本并且您的设备运行的是 Android 4.4 或更高版本,您可以使用“使用 Chrome 在 Android 上进行远程调试”。完整的说明在这里:

https://developer.chrome.com/devtools/docs/remote-debugging

总之:

  • 使用 USB 电缆将设备插入台式计算机
  • 在您的设备上启用 USB 调试(在我的设备上,位于设置 > 更多 > 开发人员选项 > USB 调试下)

或者,如果您使用的是 Cordova 3.3+ 并且没有具有 4.4 的物理设备,则可以使用使用 Android 4.4+ 的模拟器在台式计算机上通过模拟器运行应用程序。

  • 在设备或模拟器上运行您的 Cordova 应用程序
  • 在桌面计算机上的 Chrome 中,在地址栏中输入 chrome://inspect/#devices
  • 您的设备/模拟器将与连接到您的计算机的任何其他已识别设备一起显示,并且在您的设备下将显示在设备/模拟器上运行的 Cordova 'WebView'(基本上是您的 Cordova 应用程序)的详细信息( Cordova 的工作方式是它基本上在您的设备/模拟器上创建一个“浏览器”窗口,其中有一个“WebView”,它是您正在运行的 HTML/JavaScript 应用程序)
  • 单击“WebView”部分下的“检查”链接,您可以在其中看到您的设备/模拟器列出。这会调出 Chrome 开发人员工具,现在允许您调试您的应用程序。
  • 选择 Chrome 开发人员工具的“源”选项卡以查看设备/模拟器上的 Cordova 应用程序当前正在运行的 JavaScript。您可以在 JavaScript 中添加断点,以便调试代码。
  • 此外,您可以使用“控制台”选项卡查看任何错误(将显示为红色),或者在控制台底部您会看到“>”提示。在这里,您可以输入任何您想要检查其当前值的变量或对象(例如 DOM 对象),然后将显示该值。
于 2015-09-23T07:24:18.053 回答
1

你可以试试YConsole一个 js 嵌入式控制台。它重量轻且易于使用。

  • 捕获日志和错误。
  • 对象编辑器。

如何使用 :

<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>
于 2015-10-04T08:28:03.310 回答
1

我在 android 上的 firefox 浏览器上安装了 firefox 的控制台插件(https://addons.mozilla.org/en-US/android/addon/console/),效果很好。帮助我调试了我的 angular2 应用程序。

于 2016-08-02T02:41:56.650 回答
0

我还寻找了一个简单的控制台替换,只是为了转储文本。所以我做的是这个功能:

function remoteLog (arg) {
    var file = '/files/remoteLog.php';
    $.post(file, {text: arg});
}

远程 PHP 文件将所有输出记录到arg. 我花了 5 分钟(好吧,在服务器端,我使用了一个简单的日志库来记录和显示文本消息,但仍然......)。

于 2012-08-07T08:18:01.207 回答
0

如果您不介意通过 3rd 方服务器转发,JSConsole是一个相当有用的 JavaScript 远程调试器。

于 2012-11-20T19:52:52.863 回答
0

2013 年 12 月 3 日,谷歌推出了 Chrome DevTools for Mobile,它允许开发人员通过零配置的模拟屏幕投射远程调试移动 Web 应用程序。

对于所有功能,请查看Paul Irish 在 YouTube 上的演讲

于 2013-12-03T20:28:54.317 回答
0

我最近编写了一个工具,用于在可移动/可调整大小的“窗口”(实际上是一个 div)中显示控制台日志。它提供了与 Firebug 控制台类似的功能,但您可以在平板电脑上的页面上看到它。平板电脑/智能手机/平板调试控制台

于 2014-08-19T12:58:01.463 回答
0

试试js-mobile-console

MobileConsole 可以嵌入到任何页面中进行调试。它将捕获错误并完全按照浏览器中的原生 JavaScript 控制台运行。它还通过 window.console 的 API 输出您编写的所有日志。

于 2014-11-07T00:35:18.850 回答