Browser scripting


When purchasing a DreamLover Labs device, you are purchasing a hardware device, and not software development services, or a guarantee that such services will be extended, or a commitment to extend such services at a specific price. There is no guarantee, either implicit or explicit, that you will be able to implement a specific new feature using the Javascript API, to extend functionality beyond what is described in the User's Guide. DreamLover Labs are under no obligation to provide any programming assistance beyond the tutorials on this site. In particular, we are unable to offer assistance to non-programmers trying to create their own scripts. Do not expect to be able to use the API if you have never programmed in Javascript. Programmers trying to code scripts are normally aided by pointing them to the relevant functions if the need arises. We do not normally take on programming/software development tasks on behalf of our users. If a quote for such a project is ever given on an exceptional basis, it will likely be substantially higher than market rates, due to this kind of service being outside of our line of business. If your choice to own a device is conditional to the possibility of realizing a specific feature, please consult with us first. Please understand that while we can tell you whether a specific new mode of operation is possible or not with our API, we absolutely cannot guarantee that you will be able to accomplish the relative programming tasks. Additionally, should you have difficulties in the attempt, we will not be able to come to the rescue and do the programming work necessary. Therefore by purchasing a device you agree to being entirely responsible for carrying out or outsourcing the programming work relative to whatever new features you will wish to create. We do not accept returns past the review period stated on the terms of sale, and your inability to program or hire someone to program some vital feature that makes the device useful to you does not constitute an exception to this rule.

The DL Uplink application includes a DL Browser window, which can be used to navigate the web like a normal browser. The difference with a regular browser though, is that this browser can controll all DreamLover Labs devices functions, and allow you to create your own male management tools and applications with ease!

Allowed URLs

Because the DL Browser allows scripts to access product functions, the DL Browser requires the device owner to explicitly allow each URL.

The allowed start page URLs are first set by the "device owner" superuser through the DL Lounge (the Male Management panel) on a per-device basis. Once the start pages have been set, the DL Browser can navigate to the pages/applications the device owner has enabled.

Demo mode

However, it is also possible to enter a "DL Browser demo mode" which allows you to navigate to any URL for testing. This is particularly useful for developers or to test out apps without a Male Management device connected to your PC. In this mode, no device commands are delivered.

Commands that would be delivered are shown on the status bar to help you develop your application.

To enter demo mode, open the DL Browser without any devices connected, and follow the demo mode prompt.

Demo mode closes immediately when a device is connected.

Developing your applications

All device functions as well as system state queries can be accessed with Javascript.

Download the DLBrowser.js class and the example html file devicetest.html (right click and choose "Save"). These are simple (from a programmer's perspective) and self explanatory.

Please note that this example and any code using the DLBrowser.js functions will only function inside the DL Browser.
Also, because the device test example code allows access to all device functions, the device owner must explicitly enable its url from the DL Lounge as explained above.
The URL to add for this screen is

Safety / Security

In order to deter malicious use, the following safety rules apply within the DL Browser:

  • An Arm/Disarm button (default state: disarmed) switches command delivery ON and OFF
  • DreamLover 2000 commands which deliver pulses (Pulse/pager) are limited to 1 every 5 seconds. This counter is reset by any mouse click in order to allow you to create responsive applications while protecting the user against unwarranted repeated activations.

Furthermore, a "Stealth Pulse" ping/response mechanism is available to ensure the DreamLover 2000 device is being worn by the user, for example during e-learning sessions with our courses. Stealth pulse and ping/response functionality are exposed by the DL Browser class linked above.

Scripting tutorials

Available tutorials:

DreamLover 2000

Pro vs Lite
Part list


Pulse design
Pulse strength


Usage safety
Lab testing
Fail-safe design


Notes and Mounting

PC interface



Mobile App
R&D Museum



Pricing and order terms
Product contents
Price comparisons
Place an order

Contact us | General terms | Refund/return policy | Warranty | Privacy | Security | Shipping | Fraud policy | Fraudulent disputes and chargeback policy

(C) 2008-2020 DreamLover Laboratories - all rights reserved