In diesem Beitrag möchte ich zeigen, wie ich mir eine Erweiterung (Add-on) für den Chrome Browser geschrieben habe, um eine markierte Telefonnummer an mein Cisco IP Telefon zu senden.
Ich nehme es vorweg, dass es solche Erweiterungen schon gibt. Das ist aber nicht der Anspruch dieses Artikels über etwas vollkommen Neues zu berichten. Vielmehr möchte ich den Programmcode meiner Erweiterung öffentlich zugänglich machen und auch für mich dokumentieren, welche Schritte für ein solches Add-on notwendig sind. Es ist natürlich auch möglich, die Erweiterung noch weiter auszubauen. Icons hinzuzufügen, die Optionen einstellbar zu machen oder spezielle Validierungen durchzuführen, die die Telefonnummer weiter prüfen.
Ich möchte mit dieser Erweiterung erreichen, dass ich eine Telefonnummer auf einer beliebigen Internetseite markieren kann und über einen Button im Kontextmenü diese Nummer dann direkt an mein Cisco IP Telefon übertragen kann. Dort wird die Nummer direkt gewählt. Dazu möchte ich eine Chrome-Erweiterung erstellen, die eine XML-Datei generiert. Diese XML-Datei sende ich dann direkt an das Telefon.
Beginnen wir mit der Erweiterung (Add-on), die wir für den Browser benötigen. Ich habe in einem Ordner zwei Dokumente angelegt:
- manifest.json
- sentNumberToCisco.js
manifest.json
In der manifest.json Datei werden die Add-on benötigten Einstellungen, Deklarationen, Berechtigungen sowie Name und Beschreibung eingetragen. Ich habe mich hierbei an die von Chrome veröffentlichte Vorgabe Manifest File Format gehalten.
Hier der Auszug aus meiner „manifest.json“ Datei :
{ "name": "Send Number to Cisco Phone", "version": "0.1", "description": "Mark a phone number on a website and press the button in context menü.", "author": "CB IT Services", "permissions": [ "contextMenus", "http://*/*" ], "background": { "persistent": false, "scripts": ["sendNumberToCisco.js"] }, "manifest_version": 2 }
Anmerkungen:
„permissions“: Ich benötige die „contextMenus“ Berechtigung, um einen Button dem Kontextmenü hinzuzufügen. Die „http://*/*“ Berechtigung ermöglicht mir das Senden der XML-Datei an das Telefon. Ohne diese Berechtigung kann keine Übertragung nach außen erfolgen. Die „storage“ Berechtigung ist optional. Ich verwende den Chrome-Speicher „storage“ um meine Optionen abzulegen.
„background“: Hier lege ich fest, welches Script ich ausführen möchte. In diesem Fall verwende ich das „sendNumberToCisco.js“ Skript. Darin werde ich die notwendigen Funktionen unterbringen, um die Nummer direkt zu senden und den Button im Kontextmenü zu verankern.
Da es inhaltlich zu viel für einen Artikel wird, geht es hier zum zweiten Artikel weiter …