It just stopped working awhile ago. (again)
I changed the maxVersion in the install.rdf to 39.* in case that was the problem.
That didn't do anything.
I don't know what to do.
This is the install.rdf:
Code: Select all
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>MiddleClickToGoBack@lembas</em:id>
<em:version>4.2022</em:version>
<em:type>2</em:type>
<em:targetApplication>
<Description>
<em:id>{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}</em:id>
<em:minVersion>27.0.0</em:minVersion>
<em:maxVersion>39.*</em:maxVersion>
</Description>
</em:targetApplication>
<em:name>Middle Click To Go Back</em:name>
<em:description>Middle click on empty space to GO BACK.</em:description>
<em:creator>lembas -- Pale Moon modded (WHD 2022)</em:creator>
<em:optionsURL>chrome://middleclicktogoback/content/options.xul</em:optionsURL>
</Description>
</RDF>
to see if it was even being executed and that is not showing.
Code: Select all
//wrapper class definition
function MiddleClickToGoBackClass(){}
//create the wrapper object
var middleClickToGoBackObject = new MiddleClickToGoBackClass();
//var xx = 0;
//this function fires Ctrl-Shift-T which opens the last closed tab
MiddleClickToGoBackClass.prototype.fireCtrlShiftT = function()
{
var evt = document.createEvent("KeyEvents");
evt.initKeyEvent(
"keypress",// in DOMString typeArg,
true,// in boolean canBubbleArg,
true,// in boolean cancelableArg,
null,// in nsIDOMAbstractView viewArg, Specifies UIEvent.view. This value may be null.
true,// in boolean ctrlKeyArg,
false,// in boolean altKeyArg,
true,// in boolean shiftKeyArg,
false,// in boolean metaKeyArg,
0,// in unsigned long keyCodeArg, // evt.DOM_VK_DELETE
"T".charCodeAt(0)// in unsigned long charCodeArg //"T".charCodeAt(0)
);
document.dispatchEvent(evt);
}
//this function handles middle-click
MiddleClickToGoBackClass.prototype.middleClick = function(mouseEvent) // Define Method
{
if(mouseEvent.button != 1)
return;
//alert("undo-close-tab= "+middleClickToGoBackObject.pref.getBoolPref("extensions.mctgb.undo-close-tab"));
var t = mouseEvent.target;
alert("middle-clicked on\nt="+t+"\n"+"t.id="+t.id+"\nt.getAttribute('href')="+t.getAttribute('href')+"\nt.innerWidth="+t.innerWidth+"\nwindow.innerWidth="+window.innerWidth+"\nt.offsetWidth="+t.offsetWidth+"\nwindow.offsetWidth="+window.offsetWidth);
//alert("firefox4");
//alert("t.id == tabbrowser-tabs"+ (t.id == "tabbrowser-tabs"));
//alert("t instanceof XULElement"+t instanceof XULElement);
try{
if(middleClickToGoBackObject.pref.getBoolPref("extensions.mctgb.undo-close-tab") && (t.id == "titlebar-content" || t.id == "tabbrowser-tabs") && t instanceof XULElement){
//alert("fireCtrlShiftT");
mouseEvent.preventDefault();
mouseEvent.stopPropagation();
middleClickToGoBackObject.fireCtrlShiftT();
}
else{
//alert(xx++);
var doReturn = 0;
try{
var isTextBox = ((window.innerWidth - t.offsetWidth) > 30);//gmail ve yahoo'daki compose mail kismini diger sayfalardaki kisa html'lerin son kismindan ayirmak i�in
if(t instanceof HTMLEmbedElement || (t instanceof HTMLHtmlElement && isTextBox) || t instanceof XULElement || t instanceof HTMLIFrameElement || t instanceof HTMLTextAreaElement || t instanceof HTMLInputElement || t.getAttribute('href')!=null || t.parentNode.getAttribute('href')!=null || t.parentNode.parentNode.getAttribute('href')!=null || t.parentNode.parentNode.parentNode.getAttribute('href')!=null){
//alert("doing nothing\nt="+t+"\n"+"t.id="+t.id+"\n");
doReturn = 1;
}
else{
//alert("doing something");
}
}
catch(err){
//alert("error: "+err);
}
finally{
//alert(xx++);
if(doReturn){
//alert(xx++);
return;
}
if(getWebNavigation().canGoBack && middleClickToGoBackObject.pref.getCharPref("extensions.mctgb.go-back")!="2"){
//alert("goBack \n");
mouseEvent.preventDefault();
mouseEvent.stopPropagation();
getWebNavigation().goBack();
}
else if(middleClickToGoBackObject.pref.getCharPref("extensions.mctgb.go-back")=="0"){
//alert("finally removeCurrentTab \n");
mouseEvent.preventDefault();
mouseEvent.stopPropagation();
gBrowser.removeCurrentTab();
}
}
}
}
catch(errr){
//alert("errror: "+errr);
}
}
//MiddleClickToGoBackClass.prototype.pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
MiddleClickToGoBackClass.prototype.pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
//MiddleClickToGoBackClass.prototype.pref = Components.interfaces["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).QueryInterface(Components.interfaces.nsIPrefBranch);
//catches the middle-click
//true: event propagates from document to link(useCapture),
//false: event propagates from link to document(useBubbling)
document.addEventListener("click", middleClickToGoBackObject.middleClick, true);
Any suggestions or help would be appreciated.