问题
I'm developing a website for mobile. It works on Firefox desktop. It works on iPhone, but when I press a buton on Android 2.x (and maybe lower). my JavaScript code crashes or what else...
Can I get access to the logger or JavaScript console for those devices?
The better should be a kind of Firebug application.
回答1:
One option is weinre. It provides DOM & Style editing along with the console. If you don't want to set it up yourself, there is an instance hosted at http://debug.phonegap.com
The other option is JSHybugger. It's certainly the most complete debugging environment available for android browser. It's a paid product, but probably worth it.
回答2:
Chrome has a very nice feature called 'USB Web debugging' which allows to see the mobile device's debug console on your PC when connected via USB.
See here for more details.
EDIT: Seems that the ADB is not supported on Windows 8, but this link seems to provide a solution:
http://mikemurko.com/general/chrome-remote-debugging-nexus-7-on-windows-8/
回答3:
You can type about:debug
in some of the mobile browsers to pull up a JavaScript console.
回答4:
I sometimes print debugging output to the browser window. Using jQuery, you could send output messages to a display area on your page:
<div id='display'></div>
$('#display').text('array length: ' + myArray.length);
Or if you want to watch JavaScript variables without adding a display area to your page:
function debug(txt) {
$('body').append("<div style='width:300px;background:orange;padding:3px;font-size:13px'>" + txt + "</div>");
}
回答5:
I had the same problem, just use console.log(...)
(like firebug), and the install a log viewer application, this will allow you to view all the logs for your browser.
回答6:
We are following the below steps in our project for debugging a website on mobile.
- Install mobogenie software on mobile and desktop (both have the same version).
- Open your site in mobile Google Chrome browser.
- Open Google Chrome on desktop. Go to Option --> More Options --> Inspect Device.
- Here you find a list of sites which are open on mobile and click on inspect and you get the JavaScript console which you want.
回答7:
"USB Web debugging" is one option
"printing it on the screen" another.
But I prefer remote debugging through 'adobe edge inspect' formally known as adobe shadow. It uses weinre internally (=WEb INspect REmote)
You just install it + a small plugin in the browser (Chrome) and a free app you can download in the play-store. Then you have all the tools like the Chrome Development tools.
It has also support for iOS and Kindle Fire
Update
Like Chris noticed, you have to pay a subscription to use edge inspect. A cheap alternative is to use weinre directly, it's the base of edge inspect. Here's an article about how to set it up.
回答8:
If you're using Cordova 3.3 or higher and your device is running Android 4.4 or higher you can use 'Remote Debugging on Android with Chrome'. Full instructions are here:
https://developer.chrome.com/devtools/docs/remote-debugging
In summary:
- Plug the device into your desktop computer using a USB cable
- Enable USB debugging on your device (on my device this is under Settings > More > Developer options > USB debugging)
Or, if you're using Cordova 3.3+ and don't have a physical device with 4.4, you can use an emulator that uses Android 4.4+ to run the application through the emulator, on your desktop computer.
- Run your Cordova application on the device or emulator
- In Chrome on your desktop computer, enter chrome://inspect/#devices in the address bar
- Your device/emulator will be displayed along with any other recognised devices that are connected to your computer, and under your device there will be details of the Cordova 'WebView' (basically your Cordova app), which is running on the device/emulator (the way Cordova works is that it basically creates a 'browser' window on your device/emulator, within which there is a 'WebView' which is your running HTML/JavaScript app)
- Click the 'inspect' link under the 'WebView' section where you see your device/emulator listed. This brings up the Chrome developer tools that now allow you to debug your application.
- Select the 'sources' tab of the Chrome developer tools to view JavaScript that your Cordova app on the device/emulator is currently running. You can add breakpoints in the JavaScript that allow you to debug your code.
- Also, you can use the 'console' tab to view any errors (which will be shown in red), or at the bottom of the console you'll see a '>' prompt. Here you can type in any variables or objects (e.g. DOM objects) that you want to inspect the current value of, and the value will be displayed.
回答9:
You can try YConsole a js embedded console. It is lightweight and simple to use.
- Catch logs and errors.
- Object editor.
How to use :
<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>
回答10:
I installed console add-on of the firefox (https://addons.mozilla.org/en-US/android/addon/console/) on my firefox browser on android and it worked quite well. Helped me debug my angular2 app.
回答11:
If you don't mind forwarding through a 3rd party server, JSConsole is a rather useful remote debugger for JavaScript.
回答12:
I have recently written a tool for showing console logs in a movable/resizable "window" (actually a div). It provides similar functionality to Firebug's console but you can see it over your page on a tablet. Tablet/Smartphone/Phablet Debug Console
回答13:
I also looked for a simple console replacement, just to dump text. So what I did was this function:
function remoteLog (arg) {
var file = '/files/remoteLog.php';
$.post(file, {text: arg});
}
The remote PHP file recorded all the output to a database in arg
. It took me 5 minutes (OK, on the server side I used a simple logging library that records and displays text messages, but still...).
回答14:
On 2013-12-03 Google launched Chrome DevTools for Mobile, which lets developers remote debug mobile web applications via emulation and screen-casting with Zero Configuration.
For all features, checkout Paul Irish's talk on YouTube.
回答15:
Try js-mobile-console
MobileConsole can be embedded within any page for debugging. It will catch errors and behave exactly as the native JavaScript console in the browser. It also outputs all the logs you've written via an API of window.console.
来源:https://stackoverflow.com/questions/5981329/is-there-a-kind-of-firebug-or-javascript-console-debug-for-android