Avatar
balaz.marek94:

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
Fredep
Redaktor
Avatar
Odpovídá na balaz.marek94
Fredep:

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
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na balaz.marek94
Jiří Gracík:

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

Nahoru Odpovědět 13.8.2015 17:55
Creating websites is awesome till you see the result in another browser ...
Avatar
Fredep
Redaktor
Avatar
Odpovídá na balaz.marek94
Fredep:

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  +1 13.8.2015 17:57
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Fredep
Taskkill:

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:

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.