Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: URL iframesta

Sivun loppuun

dotsi [18.02.2008 13:32:31]

#

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

peg [18.02.2008 14:14:30]

#

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;
?>

dotsi [18.02.2008 14:50:18]

#

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.

Niko [18.02.2008 15:07:38]

#

document.getElementById('iframen_id').src, mikäli selain sen sallii...

dotsi [18.02.2008 15:37:01]

#

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.

Merri [18.02.2008 15:50:58]

#

En kokeillut, mutta document.getElementById('iframen_id').location.href (lähinnä mukaillen muistista ajatusta document.location.href).

dotsi [19.02.2008 08:31:34]

#

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?

Niko [19.02.2008 10:11:07]

#

document.getElementById('iframe').contentWindow.location näyttäs toimivan

dotsi [19.02.2008 10:14:40]

#

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)">

Niko [19.02.2008 11:51:40]

#

http://www.mozilla.org/projects/security/components/same-origin.html


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta