Wie kann ich externe URL HTML mit jquery bekommen?Get html externer URL in jquery
Antwort
Die kurze Antwort ist, dass Sie nicht können, da AJAX-Anfragen auf die gleiche (Sub-) Domäne und Port durch die Same Origin Policy beschränkt sind.
Die gleichen Einschränkungen gelten für iframe
Elemente: Sie können keine iframe
auf die externe Seite zeigen, und greifen Sie seine HTML von dort.
Der übliche Weg besteht darin, ein serverseitiges Skript (z. B. in PHP geschrieben) zu verwenden, das als Proxy dient: Es ruft den Inhalt der externen Website ab und stellt ihn wieder zu JavaScript bereit. Es muss auf der gleichen Domain wie die Seite laufen.
Offensichtlich werden mit dieser Lösung relative Verweise auf URLs, Bilder, Stylesheets und dergleichen (z. B. ../images/image.gif
) nicht mehr funktionieren, da sie außerhalb des Kontexts auf Ihrer Seite liegen. Ob das ein Problem in Ihrer Situation ist, ist unmöglich zu sagen. Eine Abhilfe hierfür könnte die Verwendung eines <base>
tag sein.
Auf seine einfachste Form - können Sie nicht.
Sie sind an same origin policy gebunden.
Sie benötigen jquery $.get
http://api.jquery.com/jQuery.get/
Beispiel: die Ergebnisse Alarmieren aus test.cgi mit einer zusätzlichen Nutzlast von Daten anfordert (HTML oder XML, je nachdem, was zurückgegeben wurde).
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
Bearbeiten: Dies funktioniert nur, wenn Ihre Seite auf der gleichen Domäne ist.
auch nicht möglich: Die 'iframe' HTML wird nicht an die Mutter JavaScript aufgrund der Same Origin Policy –
so dann dort zugänglich sein ist überhaupt keine Lösung :) – Stefanvds
Sie könnten $ .ajax oder $ .get verwenden, um eine URL auf Ihrer eigenen Domäne aufzurufen und dann die server-seitige Sprache zu verwenden, die Sie zum Abrufen der HTML verwenden, und diese dann zurückgeben.
Es sind zwei HTTP-Anfragen statt einer, aber es wird Ihr Problem umgehen.
Sie könnten auch die externen Webseiten HTML in Ihrem Backend-Code-Cache, so dass eine Anfrage von der Javascript nicht immer in zwei HTTP-Anfragen führen - natürlich hängt alles davon ab, wie oft die HTML Sie wird sich ändern greifen.
Eine leichte Wendung bei den oben genannten würde eine Hintergrundaufgabe auf Ihrem Server ausgeführt werden, die die externe HTMl alle X Sekunden abruft und lokal speichert. Anfragen an Ihre Domain von Ihrem JS nehmen Sie einfach die neueste Kopie von Ihrem Server. Das bedeutet, dass Ihre JS-Anfrage nicht durch Warten auf eine weitere externe HTTP-Anfrage verlangsamt wird.
Alle gängigen Browser erlauben Javasript Calls aufgrund der Same Origin Policy keinen Zugriff auf Seiten mit einer anderen (Sub-) Domain. Der einzige Weg, um das zu arbeiten, ist eine Art von „Proxy“ auf Ihrem eigenen Server (zum Beispiel eines PHP-Script), die unter der gleichen Domain läuft einzurichten, bekommt die Informationen, die Sie aus einer dritten Quelle wollen und druckt sie aus.
Sie könnten Ihrer Site eine PHP- oder eine andere serverseitige Sprache hinzufügen, die als Proxy für Ihr Skript zum Abrufen der Seite html dienen könnte.
Sie könnten dann Ihre serverseitige Proxy mit der URL mit Ajax aufrufen, die Ihnen die HTMl dieser Seite zurückgeben würde.
- 1. Get Browser-URL mit jQuery
- 2. jquery get Abfragezeichenfolgeflag von URL
- 3. Get HTML-Inhalt von id-Selektor aus externer Datei mit JQuery
- 4. Get URL-Parameter mit jquery
- 5. Aufruf URL innerhalb Get() -Methode in jQuery
- 6. Übergeben Array in GET URL mit jQuery
- 7. Get HTML-Element mit jQuery
- 8. Get Raw HTML des Knotens in JQuery
- 9. Swift get Inhalt von HTML vom url
- 10. Browserify FullCalendar mit externer jQuery
- 11. Get ID von URL mit jQuery
- 12. Get RibbonBarButton die URL mit jquery
- 13. jquery ajax get response von HTTP-URL
- 14. jquery Code funktioniert beim Laden externer Seite in div
- 15. Get HTML im Iframe mit jQuery
- 16. Teil URL in PHP Get
- 17. Externer HTML diente über Sharepoint 2010
- 18. Get Html von einer URL in ASP.NET MVC
- 19. Get Datenbindungswert in Jquery
- 20. Relative URL in statischen HTML
- 21. Get HTML-Element im Bereich
- 22. Get HTML in UITextView
- 23. Wie Anforderungs-URL in einem jQuery $ .get/Ajax-Request
- 24. lesen Sie die GET-Variablen in URL JQuery
- 25. Post-String zu externer URL über Asynctask
- 26. Aufruf externer url durch $ Schnipsel in Wordpress-Theme
- 27. Link zu externer URL mit richfaces
- 28. FFmpegPHP bekomme Thumbnail von externer URL
- 29. Fehler JQuery $ get() Anfrage
- 30. JQuery Get Seite HTML beim Laden und Knopf klicken
Wir können es tun. Versuchen Sie folgendes: http://crossorigin.me/ –
Hier ist ein Blog auf der gleichen: https://blog.codepen.io/2015/07/10/crossorigin-me/ –
@KushalJayswal das ist genau die Art von „Server Seitenskript, das als Proxy dient, "das ich erwähnte. Es kommt mit einer Vielzahl von Problemen, von denen einer von der Website derzeit offline dargestellt ist, wahrscheinlich wegen der schweren Last. Für jede Art von professionellen Gebrauch, ist, dass der Service ist sehr weit weg von „wir können es tun“ –