I get around the blocking by site only with a macro that I have written. I use Policy Manager and I have policies for 'Require JS' and 'JS popups'. I added 'Flip_PM.kmm' and a button in order to be able to note my current JS status and change it with a click.
The button is here:
http://dl.dropbox.com/u/1522294/Flip_PM.bmp
I put it in the default folder under skins.
Flip_PM.kmm
# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage2)
#
# ---------- Flip_PM.kmm
# ---------- Change the default for JavaScript within Policy Manager
#
# Dependencies : main.kmm
# Resources : panorama image Flip_PM.bmp in SKINS\DEFAULT
# : may also have policy lists for allAccess and noAccess
# Preferences : -
# Version : 0.4 12/02/09
# --------------------------------------------------------------------------------
_Flip_PM_RunCode {
$_FPM_ToolbarName = "Flip_PM" ;
$_FPM_BSize = "16" ;
$_FPM_LastItem = "" ;
$_FPM_AddBarTag = $_FPM_ToolbarName .",". $_FPM_BSize .",". $_FPM_BSize .",". $_FPM_LastItem ;
pluginmsg(toolbars, "AddToolbar", $_FPM_AddBarTag);
$_FPM_ButtonName = "FlipJS" ;
$_FPM_Command = "macros(Flip_PM_Toggle)" ;
$_FPM_MenuName = "" ;
$_FPM_tipText = "Flip Policy Manager JavaScript on/off";
$_FPM_ImageHot = "Flip_PM.bmp[2]" ;
$_FPM_ImageCold = "Flip_PM.bmp[1]" ;
$_FPM_ImageDead = "Flip_PM.bmp[3]" ;
$_FPM_AddButtonTag = $_FPM_ToolbarName.",".$_FPM_ButtonName.",".$_FPM_Command.",".$_FPM_MenuName.",".$_FPM_tipText.",".$_FPM_BSize.",".$_FPM_BSize.",".$_FPM_ImageHot.",".$_FPM_ImageCold.",".$_FPM_ImageDead.",".$_FPM_LastItem ;
pluginmsg(toolbars, "AddButton", $_FPM_AddButtonTag);
## --- SYNC BUTTON TO PREF FOR DEFAULT JS --- ##
$_FPM_ImageType = "COLD" ;
$_FPM_Current = getpref( STRING, "capability.policy.default.javascript.enabled");
if ($_FPM_Current == "allAccess" ) {
## 1 equals green - 0 equals red
$_FPM_ImageCold = "Flip_PM.bmp[0]"; } else {
$_FPM_ImageCold = "Flip_PM.bmp[1]" ;
}
$_FPM_SyncButtonTag = $_FPM_ToolbarName.",".$_FPM_Command.",".$_FPM_ImageType.",".$_FPM_ImageCold ;
pluginmsg(toolbars, "SetButtonImage", $_FPM_SyncButtonTag);
}
Flip_PM_Toggle {
togglepref( STRING, "capability.policy.default.javascript.enabled", "noAccess", "allAccess");
$_FPM_ImageType = "COLD" ;
$_FPM_Current = getpref( STRING, "capability.policy.default.javascript.enabled");
if ($_FPM_Current == "allAccess" ) {
## 1 equals green - 0 equals red
$_FPM_ImageCold = "Flip_PM.bmp[0]"; } else {
$_FPM_ImageCold = "Flip_PM.bmp[1]" ;
}
$_FPM_ToggleButtonTag = $_FPM_ToolbarName.",".$_FPM_Command.",".$_FPM_ImageType.",".$_FPM_ImageCold ;
pluginmsg(toolbars, "SetButtonImage", $_FPM_ToggleButtonTag);
}
$OnSetup=$OnSetup."_Flip_PM_RunCode;";
$macroModules=$macroModules."Flip_PM;";