Diskuze: Html z ľubovolnej stránky
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Dělá se to úplně stejně, jako když chceš získat obsah souboru.
// PHP
$page = file_get_contents('http://www.example.com/');
EDIT: Promiň, tys to chtěl asi přes JS, co? Dnes jsem mimo
Doporučuji ti použít JQuery (Ajax). Můžeš využít funkci $.get(),
popřípadě $.post(), které ti vrátí obsah stránky.
https://api.jquery.com/jquery.get/
$.get( "soubory/soubor.html", function( data ) {
alert(data); // Vyalertuje obsah získané stránky.
});
Z bezpečnostních důvodů můžeš načítat pouze stránky, které jsou na stejné doméně, takže si například nemůžeš načíst obsah facebooku.
Právě kvůli Same Origin Policy existuje standart jménem JSONP (JSON with prefix/padding), který ti umožní nejen přistupovat na jinou doménu, ale i port... perfektní dokumentace na en wiki...
A k tvému dotazu - pokud si přeješ načítat obsah webu na stejné doméně, jako běží tvoje aplikace a za předpokladu, že tuto aplikaci programuješ - není moc optimální nechat provádět toto klienta, použij server side jazyk např. php, asp, nodejs...prostě cokoliv s čím děláš, nebo ti přijde fajn... pokud z nějakého důvodu nechceš použít server, říkám jen "dobřeeee", snad víš co děláš a klidně se ptej dál, jsem ti k dispozici.
Pokud se chystáš načítat obsah webu z jiných domén, jiných adres, na cizím (ne 8080) portu, věz, že javascript za tebe tuhle dřinu neodvede - ale to není důvod se nenaučit pár důležitých věcí navíc, ne? takže si vyhledej pojem Same Origin Policy - díky tomu pochopíš proč to js za tebe neudělá, a vyhledej si pojem JSONP na anglické wiki - díky tomu pochopíš co za tebe může udělat.
NEMOŽNÉ ŘEŠENÍ : použítí iFrame tagu - proč je nemožné? protože SOP (same origin...)
MOŽNÉ ŘEŠENÍ : Jde sice o trochu kostrbaté a trochu obtížnější řešení, ale odpověď je vlastně už vyřčena v části o server side jazyku, načti do iFramu nebo kamkoliv do nějakého neviditělného divu pomocí třebas php obsah stránky, kterou chceš vydolovat a pomocí javascriptu nebo pohodlněji třeba zase toho phpčka odstraň tagy a podobnou chamrať a voila - máš text z té adresy.
Závěr: asi nejsi nadšený, ale bohužel neexistuje řešení, kterým bych ti udělal radost, pokud tě ale moje doporučení zajímá, tak prosím: http://stackoverflow.com/…of-an-iframe
Zobrazeno 6 zpráv z 6.