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
enable/disable javascript execution by JS?
enable/disable javascript execution by JS?
Mozilla/5.0 (X11; U; Linux x86_64; de-DE; rv:1.9.1.8) Gecko/20100225 Iceweasel/3.5.8 (like Firefox/3.5.8) FirePHP/1.0
- Giorgio Maone
- Site Admin
- Posts: 9524
- Joined: Wed Mar 18, 2009 11:22 pm
- Location: Palermo - Italy
- Contact:
Re: enable/disable javascript execution by JS?
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);
}
}
Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2