xmlhttprequest.open verweigert (lokal)
Singha
- javascript
Hallo zusammen,
ich habe das Problem, dass ich in einer lokalen (offline) Webseite, prüfen möchte, ob eine Netzwerkverbindung (Intranet) besteht.
Dazu dachte ich mir, im Javascript die Intranet-Url per XMLHttpRequest aufzurufen, und den Status auf 200 zu prüfen. Falls 200, kann ich auch gleich den ResponseText ausgeben.
Im IE6 funktioniert es, im IE7 und Firefox bekomme ich "Erlaubnis verweigert".
Ich weiss, dass es am domainübergreifenden Access liegt, nur leider kann ich keinen PHP-Wrapper bauen, da meine Seite lokal (z.B. C:\daten\index.html ) aufgerufen wird.
Kann ich dem Browser irgendwie mittteilen, welche Domains erlaubt sind bzw. gibt es andere Lösungen für mein Grundproblem
"Prüfe irgendwie, ob eine Netzwerkverbindung besteht".
Vielen Dank und bis dann
Wolfgang
Hi,
Ich weiss, dass es am domainübergreifenden Access liegt, nur leider kann ich keinen PHP-Wrapper bauen, da meine Seite lokal (z.B. C:\daten\index.html ) aufgerufen wird.
warum lässt Du sie nicht lokal (z.B. http://localhost/index.html) laufen?
Kann ich dem Browser irgendwie mittteilen,
Welchem Browser?
Cheatah
Hi,
Ich weiss, dass es am domainübergreifenden Access liegt, nur leider kann ich keinen PHP-Wrapper bauen, da meine Seite lokal (z.B. C:\daten\index.html ) aufgerufen wird.
warum lässt Du sie nicht lokal (z.B. http://localhost/index.html) laufen?
Weil lokal kein Webserver läuft. Es ist eine Seite, die Offline, ohne jegliche Netzwerkverbindung läuft, und bei Netzwerkverbindung mit Online-Daten ergänzt wird.
Kann ich dem Browser irgendwie mittteilen,
Welchem Browser?
primär dem IE 7, sekundär Firefox
Cheatah
Hi,
warum lässt Du sie nicht lokal (z.B. http://localhost/index.html) laufen?
Weil lokal kein Webserver läuft.
Und warum ... aenderst du das nicht?
Es ist eine Seite, die Offline, ohne jegliche Netzwerkverbindung läuft
Es braucht ja keine Netzwerkverbindung, um lokal einen Webserver laufen zu lassen.
Btw: Hast du schon mal im Archiv nach anderen Ansaetzen gesucht, das gewuenschte zu erreichen?
MfG ChrisB
Hi,
warum lässt Du sie nicht lokal (z.B. http://localhost/index.html) laufen?
Weil lokal kein Webserver läuft.
Und warum ... aenderst du das nicht?
Weil ich keinen Einfluss auf den Client habe. Es werden lediglich statische HTML-Seiten verteilt.
Es ist eine Seite, die Offline, ohne jegliche Netzwerkverbindung läuft
Es braucht ja keine Netzwerkverbindung, um lokal einen Webserver laufen zu lassen.
Richtig, wenn man einen installiert hat, und wenn dieser dann auch gestartet ist. Beides kann ich leider nicht beeinflussen.
Btw: Hast du schon mal im Archiv nach anderen Ansaetzen gesucht, das gewuenschte zu erreichen?
Ja, habe ich, da war nur die Lösung mit dem Wrapper, und eine setzen von "document.domain". Da bekomme ich immer die Fehlermeldung "Ungültiges Argument".
MfG ChrisB
Moin Moin!
Btw: Hast du schon mal im Archiv nach anderen Ansaetzen gesucht, das gewuenschte zu erreichen?
Ja, habe ich, da war nur die Lösung mit dem Wrapper, und eine setzen von "document.domain". Da bekomme ich immer die Fehlermeldung "Ungültiges Argument".
Wenn Du im Brower Javascript voraussetzen darfst, kannst Du per DOM neue Script-Elemente in das Dokument einbauen, damit müßtest Du weiter kommen. Grober Ansatz:
var script=document.createElement("script");
script.type="text/javascript";
script.src="http://www.example.com/bla/fasel/hacks.js";
var head=document.getElementsByTagName("head")[0];
head.appendChild(script);
Aber ehrlich gesagt: URLs auf irgendeinen erreichbaren Webserver lassen sich leichter verteilen als HTMML-Dateien, die versuchen, die Sicherheitskonzepte moderner Browser auszutricksen.
Alexander
Hallo,
Im IE6 funktioniert es
Gruselig..
Kann ich dem Browser irgendwie mittteilen, welche Domains erlaubt sind
Nein.
bzw. gibt es andere Lösungen für mein Grundproblem
"Prüfe irgendwie, ob eine Netzwerkverbindung besteht".
Evtl. http://javascript.jstruebig.de/javascript/42/
Mathias