Millähän saisi selville mikä on (i)framessa selattavan sivun URL? Löysin jotain apuja osoitteesta http://www.irt.org/script/25.htm, mutta sieltä löytyvä parent.frameA.location.href toimii vain jos sekä parent että framen sisällä oleva sivu sijaitsevat samalla serverillä.
sieltä sivun koodista löytyy tuo <iframe> tagi esim.
<IFRAME src="http://www.taloussanomat.fi/etusivu/uutisikkuna.html" scrolling="NO" width="205" height="300" frameborder="0"> </IFRAME>
Ja sitten vaikka tällä Antti Laaksosen mallilla.
<?php // luetaan sivun sisältö muuttujaan $tiedot = file_get_contents("jokusivu.html"); // etsitään, missä kohdassa lukee "Päivän sana on" $kohta1 = strpos($tiedot, "Päivän sana on"); // etsitään siitä seuraava alkava td-tagi $kohta2 = strpos($tiedot, "<td>", $kohta1); // etsitään siitä seuraava päättyvä td-tagi $kohta3 = strpos($tiedot, "</td>", $kohta2); // nyt tiedetään sanan alkukohta ja pituus $sana = substr($tiedot, $kohta2 + 4, $kohta3 - $kohta2 - 4); // tulostetaan vielä löydetty sana echo $sana; ?>
Kiitän vastauksesta, mutta valitettavasti kyseinen ratkaisu ei toimi omassa ongelmassani. src-attribuutin sisältö haetaan kannasta kun iframe "tulostetaan" ensimmäisen kerran. Tarkoituksenani olisi antaa käyttäjän surffata iframen sisällä, ja aika ajoin kulloinkin auki olevan sivun urli luettaisiin ja kirjoitettaisiin kantaan.
document.getElementById('iframen_id').src, mikäli selain sen sallii...
Niko kirjoitti:
document.getElementById('iframen_id').src, mikäli selain sen sallii...
Jep, tämä näyttäs toimivan ainakin siinä määrin että näyttää esim http://example.com/ mutta ei esim. http://example.com/puppaa/juttua.html. Eli domainin lisäksi myös dokumentin polku pitäisi saada jotenkin irti.
En kokeillut, mutta document.getElementById('iframen_id').location.
(lähinnä mukaillen muistista ajatusta document.location.href
).
Hätäilin vähän tuossa edellisessä postauksessani, eli toimiihan se tosiaan noinkin. Kiitoksia vain vinkeistä.
Seuraava ongelma onkin saada kikkare näyttämään iframessa kulloinkin auki olevan sivun url (eikä siis vain sitä mikä src-attribuutissa on määritetty iframea luotaessa). Olisikohan kellään ideoita tämän suhteen?
document.getElementById('iframe').contentWindow.
Niko kirjoitti:
document.getElementById('iframe').contentWindow.
location näyttäs toimivan
Hmm, voitko antaa käytännön esimerkin? En ainakaan saanut testimielessä alerttiin näkymään tuota, ts. onclick johon olen alertin määritellyt ei tee mitään.
Eli tein näin:
<iframe id="foo" src ="http://www.google.fi/" width="100%" height="80%"></iframe> <input type="button" value="Examine" onClick="javascript:alert(document.getElementById('foo').contentWindow.location)">
Aihe on jo aika vanha, joten et voi enää vastata siihen.