• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Brauche Hilfe um ein JavaScript in ein FirefoxPlugin "Eizubauen"

Squlliy

New member
Hallo liebe Forenmitglieder.

Als erstes : ich habe diese Frage schon in anderen Foren gestellt, aber habe dort keine Antwort bekommen.
Ich hoffe ich finde bei euch jemanden, der mir vielleicht helfen kann.

Ich bin ein völliger Anfänger auf dem Gebiet Javascrippt und Firefox-Addons/Extensions.
Ich habe bis jetzt nur mit Php gearbeitet, aber brauche nun für ein neues Projekt ein Plugin oder eine Extension für den Firefox Browser.
Dafür habe ich mir das hier zusamengeschustert:

Code:
var document = document.contentDocument;
var doc_bodies = document.getElementsByTagName('a');

var link_count = doc_bodies.length;
var i = 0;
do{

	
	if(doc_bodies[i].href.match('example')) {
    	var doc_body = doc_bodies[i];
		var url_div = document.createElement("iframe");
        url_div.scrolling = "no";
    	url_div.marginWidth = 0;
    	url_div.marginHeight = 0;
    	url_div.frameBorder = 1;
    	url_div.style.cssText = "width:400px;height:200px;border-radius:5px;left:0px;-moz-box-shadow: 10px 19px 20px #7b8674; /* firefox */ box-shadow: 10px 19px 20px #7b8674;margin-bottom:10px";
    	url_div.id = 'added-by-firefox-extension';
    	url_div.src = doc_bodies[i].href;
   		doc_bodies[i].parentNode.replaceChild(url_div, doc_bodies[i]);
		
		}
		else
		{
			i++;
		}

	
	}while( i < doc_bodies.length);

Das ganze habe ich mit dem Firefox-Plugin "Execute JS" in Firefox auf einer dafür erstellten Testseite getestet und es funktioniert.
Mein Problem ist nur, das ich keine Ahnung habe, wie ich das jetzt in einem Plugin umsetze.
Ich bin mir ziemlich sicher, dass ich werde Java-Script noch Kenntnisse über die Addonentwicklung in Zukunft brauchen werde,
weshalb ich (wenn ich ehrlich bin) das durchlesen langer Tutorials vermeiden möchte.

Ich wäre sehr dankbar, wenn mir hier jamand vieleicht helfen könnte das Scipt in einem Plugin einzusetzen.
Lieben Gruß
Squilly
 
Hallo zusamen,
ich habe nochmal einen Versuch gestartet.
Habe hierfür die die Addon-SDK-1.16 benutzt.
Bis jetzt war aber alles was ich probiert habe ohne jeden Erfolg.
Code:
require("sdk/ui/button/action").ActionButton({
  id: "highlight-divs",
  label: "Highlight divs",
  icon: "./logo16.png",
  onClick: function() {
    require("sdk/tabs").activeTab.attach({
      contentScript:
        'var document = document.contentDocument;' +
        'var doc_bodies = document.getElementsByTagName("a");' +
          'var link_count = doc_bodies.length;' +
		  'var i = 0;' +
		  'do{' +
		  'if(doc_bodies[i].href.match("squilly")) {' +
		  'var doc_body = doc_bodies[i];' +
		  'var url_div = document.createElement("iframe");' +
		  'url_div.scrolling = "no";' +
		  'url_div.marginWidth = 0;' +
		  'url_div.marginHeight = 0;' +
    	  'url_div.frameBorder = 1;' +
    	  'url_div.style.cssText = "width:400px;height:200px;border-radius:5px;left:0px;-moz-box-shadow: 10px 19px 20px #7b8674; /* firefox */ box-shadow: 10px 19px 20px #7b8674;margin-bottom:10px";' +
    	'url_div.id = "added-by-firefox-extension";' +
    	'url_div.src = doc_bodies[i].href;' +
   		'doc_bodies[i].parentNode.replaceChild(url_div, doc_bodies[i]);' +
		'}' +
		'else' +
		'{' +
		'i++;' +
		'}' +
		'}while( i < doc_bodies.length)' +
        '}'
	});
  }
});

Ich habe versucht mir etwas von hier :
https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/page-mod
abzuschauen, bin aber nicht einen Schritt weiter gekommen.
Wäre wirklich dankbar für jedes bischen Hilfe.
 
Plugin Programmierung ist natürlich ein sehr spezielles Gebiet. Glaube, da gibt es aktuell noch nicht so viele Profis. Vielleicht hilft es, wenn andere einfach mitdenken. Was ist denn aktuell das Problem? Gibt es irgendwo irgendwelche Fehlermeldungen?
 
Wäre wirklich dankbar für jedes bischen Hilfe.
dann müsstest du schon mal beschreiben, was "bin aber nicht einen Schritt weiter gekommen" bedeutet
ich sehe im if-zweig kein incrementieren des schleifenindexes.

das addon hast du aber schon erstellt und installiert? keine ahnung, ob das Addon-SDK das für dich übernimmt, aber in der regel zipst du ja den addonordner und benennst das .zip in .xpi um und installierst dieses dann über das addon menü.
 
Wenn dein Skript so funktioniert (wobei ich hesst Recht gebe, dass das so irgendwie nicht funktionieren kann, da das eine Endlosschleife erzeugt, wenn es einmal ins if reingeht), könnte Greasemonkey eventuell eine Alternative sein. Da kannst du dann auch JS in den dargestellten Seiten ausführen, musst aber nicht selbst ein Addon schreiben.

Ist aber natürlich nicht so mächtig.
 
Zurück
Oben