URI im Hintergrund laden (Bookmarklet)

suntrop

Erfahrenes Mitglied
Hallo

Ich möchte für mich ein Bookmarklet erstellen, das eine bestimmte URI im Hintergrund aufruft.

Kurz zum Sinn und Zweck. Ich kann über den Browser einen Anruf meines IP-Telefons initiieren, wenn ich http:// 192.168.194.108/?NUMBER=02211234567 aufrufe.

Ich habe jetzt stundenlang probiert, einen Prompt() zu erstellen, der die Rufnummer entgegen nimmt und dann wie auch immer die URL lädt. Mittels xmlhttp.open habe ich es nicht geschafft und mit appendChild (als <img> einschleusen) ging es auch nicht :-(

Kann mir jemand auf die Sprünge helfen? Oder gibt es einen besseren Weg?

Code:
javascript:(function(){phonenumber=prompt(%22Nummer:%22,%20%22%22);xmlhttp.open('GET','http://192.168.194.108/index.htm?NUMBER=' + phonenumber,true);xmlhttp.send();})();

Code:
javascript:(function(){phonenumber=prompt('Nummer:','');  

	document.getElementsByTagName('body')[0].appendChild('%3Cimg src='http://192.168.194.109/index.htm?NUMBER=' + phonenumber + '%3E');
	
})();
 
Ein AJAX-Request funktioniert nicht, z.B. bekomme ich bei Google Chrome folgendes:
Code:
XMLHttpRequest cannot load http://www.google.de/. Origin http://www.tutorials.de is not allowed by Access-Control-Allow-Origin.

Aber du kannst auch, wenn es dich nicht stört, ein neues Fenster via window.open öffnen:
Javascript:
javascript:(function () {
  var url = "http://www.google.de",
      title = "Initiating IP phone...",
      winOpts = "menubar=no,resizable=no,scrollbars=no,status=no";
  var win = window.open(url, title, winOpts);
})();


Hier auch eine erweiterte Variante:
Javascript:
javascript:(function () {
  var number = window.prompt("Please enter the number to call"),
      url = "http://www.example.com/?number="+number,
      title = "Initiating IP phone...",
      winOpts = "menubar=no,resizable=no,scrollbars=no,status=no";
  var win = window.open(url, title, winOpts);
})();
 
Wenn du kein Feedback von der Zieladresse benötigst, sondern nur den Request senden willst, könntest du ein <img/> erzeugen mit der Zieladresse als src(das Bild musst du auch nicht extra ins Dokument einhängen)

Code:
javascript:(function(){phonenumber=prompt(%22Nummer:%22,%20%22%22);if(phonenumber){var img=new Image();img.src='http://192.168.194.108/?NUMBER='+encodeURIComponent(phonenumber);}})();
 
Danke euch beiden!
Ein neues Fenster hatte ich auch im Sinn. Jedoch leitet der Aufruf der URI auf die Software des IP-Phones um. Das dauert immer etwas Zeit und ich muss es händisch schließen :-) Den HTTP-Respons brauche ich nicht.

Das mit dem <img> hatte ich über appendChild versucht, vergebens. Ich teste es gerade mal mit deiner Lösung … :-) es funktioniert!

Tausend Dank für die Hilfe. Ich bin schon begeistert, was so alles möglich ist.

Grüße
- suntrop -
 
Zurück