Nauč se s námi víc. Využij 50% bonus na e-learningové kurzy.
Pouze tento týden sleva až 80 % na e-learning týkající se Javy
discount week 50
Avatar
balaz.marek94:13.8.2015 17:06

Zdravím, vedel by mi niekto poradiť, či existuje nejaký príkaz, ktorý mi vráti html vo forme textového reťazca z ľubovolnej stránky? niečo typu getHtml("http:/­www.google.sk")? Za odpovede vopred ďakujem :)

 
Odpovědět
13.8.2015 17:06
Avatar
Aaron
Redaktor
Avatar
Odpovídá na balaz.marek94
Aaron:13.8.2015 17:30

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 :D

Editováno 13.8.2015 17:32
 
Nahoru Odpovědět
13.8.2015 17:30
Avatar
Odpovídá na balaz.marek94
Neaktivní uživatel:13.8.2015 17:55

Bude nejspíš potřeba použít ajax

Nahoru Odpovědět
13.8.2015 17:55
Neaktivní uživatelský účet
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Aaron
Redaktor
Avatar
Odpovídá na balaz.marek94
Aaron:13.8.2015 17:57

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.

 
Nahoru Odpovědět
13.8.2015 17:57
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Aaron
Taskkill:18.8.2015 20:18

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...

 
Nahoru Odpovědět
18.8.2015 20:18
Avatar
Taskkill
Redaktor
Avatar
Taskkill:18.8.2015 20:46

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

 
Nahoru Odpovědět
18.8.2015 20:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.