Javascript/JQuery Nacitanie dat z inej stranky
-
t0m4s3
Admin
- Príspevky: 18096
- Registrovaný: 14 jún 2004, 18:35
- Bydlisko: Martin SR, Brno CZ
- Kontaktovať používateľa:
Javascript/JQuery Nacitanie dat z inej stranky
Potrebujem jednoduchy skript, ktory mi na zobrazenej stranej stranke zobrazi data z inej stranky. Tzn. ze nachadzam sa na stranke1, kde pomocou Greasemonkey scriptu chcem "vytiahnut" napr. cast kodu z inej stranky, spracovat a zaclenit do stranky. Zrejme sa to bude dat spravit pomocuo JQuery, ale nemam s tym ziadne skusenosti, za nakopnutie dakujem.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Javascript/JQuery Nacitanie dat z inej stranky
a tá "druhá" stránka je na rovnakom serveri ako prvá?
-
t0m4s3
Admin
- Príspevky: 18096
- Registrovaný: 14 jún 2004, 18:35
- Bydlisko: Martin SR, Brno CZ
- Kontaktovať používateľa:
Re: Javascript/JQuery Nacitanie dat z inej stranky
Ano je.
- prva stranka je napr. /game/
- druha stranka sa vola pomocou odkazu /game/cards/ a toto ta opat odkaze na /game/ pricom ti zobrazi podstranku "cards"
- ja potrebujem pri otvoreni tej prvej stranky /game/ vytiahnut cast zdrojoveho kodu (jedna obycajna tabulka kde su data, bohuzial bez ID tagov) zo stranky "game" ktora sa zavola tym /game/cards/ - nasledne ich spracovat a vlozit do stranky
- prva stranka je napr. /game/
- druha stranka sa vola pomocou odkazu /game/cards/ a toto ta opat odkaze na /game/ pricom ti zobrazi podstranku "cards"
- ja potrebujem pri otvoreni tej prvej stranky /game/ vytiahnut cast zdrojoveho kodu (jedna obycajna tabulka kde su data, bohuzial bez ID tagov) zo stranky "game" ktora sa zavola tym /game/cards/ - nasledne ich spracovat a vlozit do stranky
Re: Javascript/JQuery Nacitanie dat z inej stranky
neviem, či ti to pomôže ale ja na parsovanie určitých údajov z iného webu využívam toto http://simplehtmldom.sourceforge.net/manual.htm neviem, či sa to hodí na ten tvoj prípad
Re: Javascript/JQuery Nacitanie dat z inej stranky
Skús sa pozrieť na http://userscripts.org/guides/9 (konkrétne na funkciu getDOC pomocou ktorej si stiahneš tú druhú stránku a vytvoríš si nový html dokument a potom to skombinuješ s XPath...).
-
t0m4s3
Admin
- Príspevky: 18096
- Registrovaný: 14 jún 2004, 18:35
- Bydlisko: Martin SR, Brno CZ
- Kontaktovať používateľa:
Re: Javascript/JQuery Nacitanie dat z inej stranky
@propernex - potrebujem to v Javascripte, pretoze to ma byt Greasemonkey script
@chrono - zbezne to vyzera ako presne to co potrebujem, pozriem sa snad na to pocas dna
//autoeditácia príspevku (09 Feb 2011, 13:41)
skript slape perfektne, Diky!
//autoeditácia príspevku (09 Feb 2011, 18:18)
Tak este je tu jedna drobnost, vzdy po kliknuti na nejaky odkaz, resp. nieco co generuje opat tu stranku ma prehodi na tu podstranku /game/cards/ (z ktorej si taham tie data) co nie je moc ziaduce. Nejaky napad preco to robi?
//autoeditácia príspevku (09 Feb 2011, 18:41)
Takisto narazam na jeden problem
holder.innerHTML je prazdne pricom moj ciel je tam mat ulozene data z tej inej stranky.
@chrono - zbezne to vyzera ako presne to co potrebujem, pozriem sa snad na to pocas dna
//autoeditácia príspevku (09 Feb 2011, 13:41)
skript slape perfektne, Diky!
//autoeditácia príspevku (09 Feb 2011, 18:18)
Tak este je tu jedna drobnost, vzdy po kliknuti na nejaky odkaz, resp. nieco co generuje opat tu stranku ma prehodi na tu podstranku /game/cards/ (z ktorej si taham tie data) co nie je moc ziaduce. Nejaky napad preco to robi?
//autoeditácia príspevku (09 Feb 2011, 18:41)
Takisto narazam na jeden problem
Kód: Vybrať všetko
var holder = document.createElement('div');
GM_xmlhttpRequest({
method: 'GET',
url: 'http://osadnici.happz.cz/game/settlers/cards/',
onload: function bla(responseDetails) {
holder.innerHTML = responseDetails.responseText.split(/<body[^>]*>((?:.|\n)*)<\/body>/i)[1];
}
});
window.alert(holder.innerHTML);-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Javascript/JQuery Nacitanie dat z inej stranky
Tej prvej časti (autoedit o 18:18) nerozumiem. Aké linky máš na mysli? Skús to podrobnejšie rozpísať
k tej druhej časti (autoedit o 18:41):
robíš rovnakú chybu ako chalan v tejto téme: http://www.hojko.com/jquery-globalne-pr ... 54811.html (konkrétne si prečítaj moju poslednú reakciu a popis k jeho prvému prípadu). Nechce sa mi to znova rozpisovať, ale v skratke iba toľko že tá hodnota nie je prázdna, len ju vypisuješ skôr ako sa naplní lebo si neuvedomuješ že sa to volá asynchrónne. Ak si to p repíšeš takto: tak ti to vyhodí obsah tej stránky ako požaduješ.
k tej druhej časti (autoedit o 18:41):
robíš rovnakú chybu ako chalan v tejto téme: http://www.hojko.com/jquery-globalne-pr ... 54811.html (konkrétne si prečítaj moju poslednú reakciu a popis k jeho prvému prípadu). Nechce sa mi to znova rozpisovať, ale v skratke iba toľko že tá hodnota nie je prázdna, len ju vypisuješ skôr ako sa naplní lebo si neuvedomuješ že sa to volá asynchrónne. Ak si to p repíšeš takto:
Kód: Vybrať všetko
var holder = document.createElement('div');
GM_xmlhttpRequest({
method: 'GET',
url: 'http://osadnici.happz.cz/game/settlers/cards/',
onload: function bla(responseDetails) {
holder.innerHTML = responseDetails.responseText.split(/<body[^>]*>((?:.|\n)*)<\/body>/i)[1];
window.alert(holder.innerHTML);
}
});Re: Javascript/JQuery Nacitanie dat z inej stranky
ked bola tato tema aktivna, tak som si ten kod odskusal a fungoval, a teraz ked by som ho rad vyuzil, tak mi to nejako nejde.chrono napísal:Skús sa pozrieť na http://userscripts.org/guides/9 (konkrétne na funkciu getDOC pomocou ktorej si stiahneš tú druhú stránku a vytvoríš si nový html dokument a potom to skombinuješ s XPath...).
som debil?
alebo to prestalo fungovat
chyba z firebugu -> GM_xmlhttpRequest is not defined
Kód: Vybrať všetko
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>omfg</title>
</head>
<body>
<div id="body">
<script type="text/javascript">
function getDOC(url, callback) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
onload: function (responseDetails) {
var dt = document.implementation.createDocumentType("html",
"-//W3C//DTD HTML 4.01 Transitional//EN", "http://www.w3.org/TR/html4/loose.dtd"),
doc = document.implementation.createDocument('', '', dt),
html = doc.createElement('html');
html.innerHTML = responseDetails.responseText;
doc.appendChild(html);
callback(doc);
}
});
}
getDOC('http://www.google.sk', function(doc) { alert(doc.documentElement.innerHTML) });
</script>
</div>
</body>
</html>
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Javascript/JQuery Nacitanie dat z inej stranky
sorry, že tak narovinu, ale hej, si debil 
tu sme sa bavili o Grease Monkey skripte (prečítaj si ešte raz prvý príspevok) a ty sa ho snažíš hodiť do html stránky. To ti nebude nikdy fungovať. Ak ti to vtedy fungovalo, tak si sa debilom stal až po tom a vtedy si to skúšal cez gm
tu sme sa bavili o Grease Monkey skripte (prečítaj si ešte raz prvý príspevok) a ty sa ho snažíš hodiť do html stránky. To ti nebude nikdy fungovať. Ak ti to vtedy fungovalo, tak si sa debilom stal až po tom a vtedy si to skúšal cez gm