Page 1 of 1

enable/disable javascript execution by JS?

Posted: Tue Mar 23, 2010 9:31 am
by jugglefish
Hello,

I am using selenium to test my application. I would like to disable javascript execution from within my testcase.

In general I think this little js would solve my problem:

function setJavascriptPref(bool) {
prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
prefs.setBoolPref("javascript.enabled", bool);
}

However it seem noscript somehow overrides this setting. Is there anything I can do to activate/deactivate javascript execution with noscript enabled by means of javascript? 'whitelist' seems to be an internal setting that can't be reached via preference-service.

Thx and Greets,
peter

Re: enable/disable javascript execution by JS?

Posted: Tue Mar 23, 2010 9:41 am
by Giorgio Maone
Change your code into:

Code: Select all

function setJavascriptEnabled(bool) {
   const Cc = Components.classes;
    if ("@maone.net/noscript-service;1" in Cc) {
       var ns = Cc["@maone.net/noscript-service;1"].getService().wrappedJSObject;
       ns.jsEnabled = bool;
    } else {
      var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
      prefs.setBoolPref("javascript.enabled", bool);
    }
}