How to Use RemoteJS

And When It Can Help You

Debugging the web is difficult. We're here to help.

Why Do I Need This?

RemoteJS is for debugging problems on remote web clients, such as mobile phones, kiosk computers, or embedded systems, where you cannot recreate the bug locally. By giving you an interactive session to the remote device, RemoteJS allows you to gather more information and better understand the problem.

How Do I Run the Agent Remotely?

When you start a new debugging session, RemoteJS will give you a snippet of JavaScript to be run. It can be executed by pasting it into the remote console, or running it as a bookmarket on the remote device. You can also deploy it with your code.

Can I Reconnect to Debugging Sessions?

Yes! A debugging session is just a string. When you create a new debugging session, we generate a UUID in the URL, but this can be anything. If you bookmark the page, you can return later, or name a debugging session for your needs.

How Can I Enable and Disable the Agent in my Code?

If you deploy the debugging snippet into your application, you may want to choose when to enable when your clients send debugging information. You can do this by wrapping the agent in check if ?remote-debug is in the URL query.

if (window.location.search.indexOf("remote-debug") >= 0) {
    (function(){var s=document.createElement("script");s.src="https://remotejs.com/agent/agent.js";
    s.setAttribute("data-consolejs-channel","YOUR_CHANNEL");document.head.appendChild(s);})()
}

Can I Monitor All My Users?

Yes! But RemoteJS is not the best tool for that, as debugging data isn't saved for later analysis. Instead, check out TrackJS. It provides all the same monitoring, along with alerting and diagnostics.

Is This Secure?

No, not really. The debugging channel Id is discoverable in your markup and can be used to view sessions. An attacker could get access to your end user sessions. You should refrain from using RemoteJS for long-term debugging and on sites with sensitive data.

Let's Fix Some Bugs!