Ik heb een firefox extensie gedownload. Maar deze bevalt me nog niet helemaal. Ik wil het zelf gaan aanpassen. Iemand enig idee hoe ik dit moet doen? Ik heb het xpi bestand geopend. Er staan duidelijk javascript functies in het .js bestand. Moet ik deze aanpassen? Kan dat als het al geinstalleerd is? of moet ik het opnieuw installeren iedere keer?
het kan in iedergeval gewoon als het al geinstalleerd is..
verder heb ik er ook geen verstand van..
(tip: kijk in de maak je eigen extentie tut op de site van de add-ons)
Zou iemand mij kunnen helpen met deze extensie? Het gaat erom dat er informatie word verzonden, en dit moet worden opgevangen door php. Maar het probleem is,.. het lukt me niet om "wat het script al doet" nog eens te doen voor een ander stuk code.
// Get the "extensions.gtplugin." branch
var prefs = GTPlugin_getPrefs();
var GTPlugin_activated = 0;
var GTPlugin_result = 2;
var GTPlugin_selectedTyp = -1;
var GTPlugin_selectedWer = -1;
var GTPlugin_selectedGalaxy = -1;
var GTPlugin_selectedSystem = -1;
var GTPlugin_selectedRanks = -1;
var GTPlugin_Messagedoc;
function init() { GTPlugin_ext.init(); }
window.addEventListener("load", init, false);
var GTPlugin_ext = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("load", this.onPageLoad, true);
var messagepane = document.getElementById("messagepane"); // mail
if(messagepane)
messagepane.addEventListener("load", this.onPageLoad, true);
var prefs = GTPlugin_getPrefs();
if (prefs.getBoolPref("gtplugin.settings.autostarten") == true)
GTPlugin_Activate();
},
onPageLoad: function(aEvent) {
if (GTPlugin_activated == 0) return;
var doc = aEvent.originalTarget; // doc is document that triggered "onload" event
var text;
// do something with the loaded page.
// doc.location is a Location object (see below for a link).
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString( "toolbar.status.nothing" );
if(doc.location.href.search("/game/galaxy.php") > -1) {
// break if foxgame reduced galaxyview or enhanced debris field is enabled
try {
if (fgGetBooleanPref("foxgameRemovePlanets",true)) {
// reduced galaxyview activated
GTPlugin_selectedGalaxy = GTPlugin_getGalaxy(doc);
GTPlugin_selectedSystem = GTPlugin_getSystem(doc);
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("galaxyfound.prefix")+GTPlugin_selectedGalaxy+":"+GTPlugin_selectedSystem+GTPlugin_GetLocString("galaxyfound.suffix");
text = GTPlugin_get_galaxyview_data(doc,true);
} else {
// foxgame installed, but no reduced galaxyview activated
GTPlugin_selectedGalaxy = GTPlugin_getGalaxy(doc);
GTPlugin_selectedSystem = GTPlugin_getSystem(doc);
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("galaxyfound.prefix")+GTPlugin_selectedGalaxy+":"+GTPlugin_selectedSystem+GTPlugin_GetLocString("galaxyfound.suffix");
text = GTPlugin_get_galaxyview_data(doc,false);
}
} catch(e) {
// no foxgame installed
GTPlugin_selectedGalaxy = GTPlugin_getGalaxy(doc);
GTPlugin_selectedSystem = GTPlugin_getSystem(doc);
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("galaxyfound.prefix")+GTPlugin_selectedGalaxy+":"+GTPlugin_selectedSystem+GTPlugin_GetLocString("galaxyfound.suffix");
text = GTPlugin_get_galaxyview_data(doc,false);
}
GTPlugin_result = GTPlugin_sendText("galaxy",text,doc.location.href);
}
if(doc.location.href.search("/game/stat.php") > -1) {
GTPlugin_selectedTyp = GTPlugin_getStatsTyp(doc);
GTPlugin_selectedWer = GTPlugin_getStatsWho(doc);
GTPlugin_selectedRanks = GTPlugin_getStatswhitch(doc);
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("statsfound");
var text = GTPlugin_getStatsText(doc);
GTPlugin_result = GTPlugin_sendText("stats",text,doc.location.href);
}
if(doc.location.href.search("/game/messages.php") > -1) {
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("reportsfound");
GTPlugin_Messagedoc = doc;
}
// Allyhistory
if((doc.location.href.search("/game/allianzen.php") > -1) && (doc.location.href.search("&a=4") > -1)) {
GTPlugin_result = GTPlugin_sendText("allyhistory",doc.getElementsByTagName("table")[4].innerHTML,doc.location.href);
}
}
}
function GTPlugin_FindReports() {
// get information about what ranks were selected
try {
var messageElements = GTPlugin_Messagedoc.getElementsByTagName("table")[5].innerHTML;
GTPlugin_result = GTPlugin_sendText("reports",messageElements,GTPlugin_Messagedoc.location.href );
} catch(e) {
//alert(e);
}
}
function GTPlugin_sendText(typ,text,source_url) {
try {
if (source_url.search(prefs.getCharPref("gtplugin.settings.ogameurl1")) > -1) {
var txt = "user="+prefs.getCharPref("gtplugin.settings.username1")+"&password="+prefs.getCharPref("gtplugin.settings.password1")+"&typ="+typ;
var url = prefs.getCharPref("gtplugin.settings.url1");
} else if (source_url.search(prefs.getCharPref("gtplugin.settings.ogameurl2")) > -1) {
var txt = "user="+prefs.getCharPref("gtplugin.settings.username2")+"&password="+prefs.getCharPref("gtplugin.settings.password2")+"&typ="+typ;
var url = prefs.getCharPref("gtplugin.settings.url2");
} else if (source_url.search(prefs.getCharPref("gtplugin.settings.ogameurl3")) > -1) {
var txt = "user="+prefs.getCharPref("gtplugin.settings.username3")+"&password="+prefs.getCharPref("gtplugin.settings.password3")+"&typ="+typ;
var url = prefs.getCharPref("gtplugin.settings.url3");
} else if (source_url.search(prefs.getCharPref("gtplugin.settings.ogameurl4")) > -1) {
var txt = "user="+prefs.getCharPref("gtplugin.settings.username4")+"&password="+prefs.getCharPref("gtplugin.settings.password4")+"&typ="+typ;
var url = prefs.getCharPref("gtplugin.settings.url4");
} else if (source_url.search(prefs.getCharPref("gtplugin.settings.ogameurl5")) > -1) {
var txt = "user="+prefs.getCharPref("gtplugin.settings.username5")+"&password="+prefs.getCharPref("gtplugin.settings.password5")+"&typ="+typ;
var url = prefs.getCharPref("gtplugin.settings.url5");
} else {
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.unknownuni");
return;
}
var responsetext = "";
if (typ == "stats") {
txt = txt + "&who="+GTPlugin_selectedWer+"&what="+GTPlugin_selectedTyp;
if (GTPlugin_selectedWer == 0) responsetext = GTPlugin_GetLocString("statsupdated.playerprefix");
if (GTPlugin_selectedWer == 1) responsetext = GTPlugin_GetLocString("statsupdated.allyprefix");
if (GTPlugin_selectedTyp == 0) responsetext = responsetext + GTPlugin_GetLocString("statsupdated.scoreinfix")+GTPlugin_selectedRanks+GTPlugin_GetLocString("statsupdated.suffix");
if (GTPlugin_selectedTyp == 1) responsetext = responsetext + GTPlugin_GetLocString("statsupdated.fleetinfix")+GTPlugin_selectedRanks+GTPlugin_GetLocString("statsupdated.suffix");
if (GTPlugin_selectedTyp == 2) responsetext = responsetext + GTPlugin_GetLocString("statsupdated.researchinfix")+GTPlugin_selectedRanks+GTPlugin_GetLocString("statsupdated.suffix");
}
if (typ == "galaxy") {
txt = txt + "&galaxy="+GTPlugin_selectedGalaxy+"&system="+GTPlugin_selectedSystem;
responsetext = GTPlugin_GetLocString("galaxyupdated.prefix")+GTPlugin_selectedGalaxy+":"+GTPlugin_selectedSystem+GTPlugin_GetLocString("galaxyupdated.suffix");
}
if (typ == "reports") {
responsetext = GTPlugin_GetLocString("reportsupdated");
}
if (typ == "allyhistory") {
responsetext = GTPlugin_GetLocString("allyhistoryupdated");
}
txt = txt + "&content=" + encodeURIComponent(text); // needed to send data with special chars like \s or \n
var httpRequest = new XMLHttpRequest();
httpRequest.open("POST", url, true); // 3. Parameter ist für asynchronen Transfer nötig
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Content-Length", txt.length);
httpRequest.send(txt);
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState != 4) {
//alert('Bad Ready State: ' + httpRequest.status);
//document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.badreadystate")+httpRequest.status;
return 0;
} else {
/*
* Status Codes:
- 200 = gernally okay
- 403 = forbidden
- Response Text:
- 601: galaxy view inserted
- 602: problem with inserting galaxy view
- 611: report inserted
- 612: at least one report was wrong
- 621: stats updated
- 622: stats not updated
- 631: allyhistory updated
- 632: allyhistory not updated
*/
if (httpRequest.status == 403) { // forbidden
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.permissiondenied");
return 0;
} else if (httpRequest.status == 404) { // Server responsed
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.pagenotfound");
return 0;
} else if (httpRequest.status == 200) { // Server responsed
if ((parseInt(httpRequest.responseText) == 601) || (parseInt(httpRequest.responseText) == 611) ||
(parseInt(httpRequest.responseText) == 621) || (parseInt(httpRequest.responseText) == 631)) { // gv updated
document.getElementById("GTPlugin-status-view").value = responsetext;
return 1;
} else if (parseInt(httpRequest.responseText) == 602) { // gv not updated
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.gvnotupdated");
return 0;
} else if (parseInt(httpRequest.responseText) == 612) { // at least 1 report not inserted
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.reporterror");
return 0;
} else if (parseInt(httpRequest.responseText) == 622) { // stats not updated
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.statserror");
return 0;
} else if (parseInt(httpRequest.responseText) == 632) { // allyhistory not updated
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.allyhistoryerror");
return 0;
}
} else {
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.badstatuscode")+httpRequest.status;
return 0;
}
}
};
} catch (e){
document.getElementById("GTPlugin-status-view").value = GTPlugin_GetLocString("error.gtservernotfound");
//alert('An error has occured calling the external site: '+e);
return 0;
}
return 0;
}
Zoals je kan zien worden er gegevens verzonden als er een bepaalde pagina word geladen.
Nu wil ik een nieuwe functie toevoegen die uitgevoerd word op een bepaalde pagina:
zoals hier word gecheckt: if(doc.location.href.search("/game/galaxy.php") > -1
Wat het dus moet doen is op een bepaalde pagina controleren en dan de juiste informatie doorsturen met de functies. Als iemand hier verstand van heeft en mij wil helpen ben ik weer helemaal blij :) (al een dag aan het prutsen).