Safari Extension

Swabke

Swabke

Aktives Mitglied
Thread Starter
Dabei seit
04.06.2012
Beiträge
106
Reaktionspunkte
1
Hi Zusammen

Vielleicht kennt ihr Spritz: http://www.spritzinc.com
Damit kann man einen Text im Browser schneller lesen. Mit Mavericks musste man nur das JavaScript in die Lesezeichenleiste ziehen und dann drauf klicken. Da mit Yosemite diese Leiste nun weg ist wollte ich eine Safari Extension schreiben.
Ich habe dafür folgenden Code in global.html:
<script>
// Set up the Listener
safari.application.addEventListener("command", performCommand, false);

// Function to perform when event is received
function performCommand(event) {
// Make sure event comes from the button
if (event.command == "openSpritz") {
var rUrl = "LINK";
safari.application.activeBrowserWindow.activeTab.url = rUrl;
}
}
</script>

Wenn ich LINK durch einen beliebigen URL, z.B.: www.google.com, ersetze, dann macht die Erweiterung auf klick google.com auf im aktuellen Tab. Wenn ich allerdings den JavaScript einfüge dann passiert nichts. Wenn ich den JavaScript manuell ins Suchfeld eingebe dann klappt es mit dem Spritz.
Warum klappt es nicht mit der Erweiterung?

JavaCode (von der Spritz Website):
javascript:(function(){function%20loadScript()%7Bvar%20script=document.createElement(%27script%27);script.setAttribute(%27type%27,%27text/javascript%27);script.setAttribute(%27charset%27,%27UTF-8%27);script.setAttribute(%27async%27,%27true%27);script.setAttribute(%27src%27,%27https://sdk.spritzinc.com/js/1.2/bookmarklet/js/SpritzletOuter.js%3F%27+(new%20Date().getTime()).toString().substring(0,7));document.documentElement.appendChild(script);script.onload=script.onreadystatechange=function()%7Bvar%20rs=script.readyState;if(!rs%20||%20rs===%27loaded%27%20||%20rs===%27complete%27)%7Bscript.onload=script.onreadystatechange=null;Spritzlet.init();}};}if(window.Spritzlet)%7BSpritzlet.activate();}else%7Bwindow.Spritzlet=window.Spritzlet%20||%7B};window.Spritzlet=%7Borigin:window.location.protocol+%27//%27+window.location.host,loaderVersion:1.0};loadScript();}})();

Gruss
Swabke
 
Unter Yosemite gibt es immer noch eine Lesezeichenleiste/Favoritenleiste.
 
Einen Klick weiter entfernt, grundsätzlich gut, doch für die wirklich wirklich oft genutzten Webseiten bin ich einfach zu faul dafür... ;)
 
Versteh ich nicht, wo du da jetzt ein Problem siehst.
Einfach wie hier beschrieben das "Spritzlet" in die Favoritenleiste ziehen und fertig.
Wo genau soll sich mit Yosemite da etwas geändert haben?
 
Sollte nur erklären warum ich eine Erweiterung schreiben will...(und weil es spass macht)
Ob es nun wirklich notwendig ist oder nicht ist ein anderes Thema.
Mein Problem ist dass die Erweiterung nicht funktioniert.
 
Darstellung->Favoritenleiste einblenden.
 
Sollte nur erklären warum ich eine Erweiterung schreiben will...(und weil es spass macht)
Ob es nun wirklich notwendig ist oder nicht ist ein anderes Thema.
Mein Problem ist dass die Erweiterung nicht funktioniert.

Jetzt versteh ich gar nicht mehr, worum es geht.
Ich dachte, dein Problem war, dass du davon ausgehst, das Spritzlet würde unter Yosemite nicht mehr funktionieren. Das tut es, wie oben geschildert – und damit hätte ich angenommen, dein Problem wäre gelöst.
Aber wenn es dir darum geht, eine Extension zu schreiben, kann ich dir dabei leider nicht helfen.

EDIT: Was meinst du denn mit "die Erweiterung funktioniert nicht"? Oben schriebst du noch, dass sie mit Yosemite funktioniert – aber zu umständlich.
 
Spritz funktioniert wenn man ein Lesezeichen macht oder wenn man das JavaScript in das Suchfeld kopiert. Ich will aber eine Erweiterung machen weil ich lust dazu habe.
Der button der (selbst geschriebenen) Erweiterung erscheint oben, das Logo stimmt auch. Das Problem ist, dass nichts passier wenn ich den button drücke. Wenn ich allerdings anstelle des JavaScriptes irgend eine URL in die global.html der Erweiterung schreibe dann klappt alles (es öffnet sich die Seite).
 
Spritz funktioniert wenn man ein Lesezeichen macht oder wenn man das JavaScript in das Suchfeld kopiert. Ich will aber eine Erweiterung machen weil ich lust dazu habe.
Der button der (selbst geschriebenen) Erweiterung erscheint oben, das Logo stimmt auch. Das Problem ist, dass nichts passier wenn ich den button drücke. Wenn ich allerdings anstelle des JavaScriptes irgend eine URL in die global.html der Erweiterung schreibe dann klappt alles (es öffnet sich die Seite).

Ok, wie gesagt, kann ich dir bei deinem Problem mit der selbstgeschriebenen Erweiterung leider nicht helfen.

Weshalb du dir die Angelegenheit jetzt unnötig kompliziert machst und nicht einfach weiterhin und wie gewohnt das Spritzlet nutzt, erschließt sich mir nicht.
An der Extension kannst du ja weiter tüfteln, wenn es dir nur um die Lösung dieses Problems selbst geht und Freude bereitet.
 
Zurück
Oben Unten