iFrame script laten uitvoeren

Status
Niet open voor verdere reacties.

ready2go

Gebruiker
Lid geworden
29 mrt 2010
Berichten
12
Hallo allen,

Ik heb een iframe op een pagina staan die ik graag, zodra hij loadt, een script wil laten uitvoeren, namelijk dat zijn url de negende link wordt. Misschien slecht uitgelegd maar hier is het script:

[JS]document.getElementById('myFrame').src = "javascript:document.location.href=document.links[9]"[/JS]

Ik ben zelf nog nieuw met JS en ik hoop dat jullie me hiermee kunnen helpen :D, verder doet het script niets. Maar als ik de src verander naar bijvoorbeeld google wil hij wel laden (zonder javascript:document etc. te gebruiken). Weet iemand hier iets op?

Ready2go
 
Laatst bewerkt:
iewl, wat een vreselijkheid! Je maakt hier inline html-javascript ofzo. Ik snap het in ieder geval niet. Probeer zoiets:[JS]document.getElementById('myFrame').src = document.links[9];[/JS]mocht document.links[] niet werken maak dan de 9e link met een ID, dat gaat een stuk makkelijker:
HTML:
<a href='....' id='mijnLink'>ding</a>
[JS]document.getElementById('myFrame').src = document.getElementById('mijnLink').href;[/JS]


:thumb:
 
Bedankt voor je reactie, ik kan de pagina niet editen aangezien het niet mijn eigen source is. Dus ik moet het doen zonder id. Bedankt voor je reactie, je eerste optie blijkt gedeeltelijk te werken. Hij opent inderdaad een link, maar het is de link van de parent en dus niet de iframe...
 
ooh, op die manier.


Eh, zoiets?[JS] document.getElementById('myFrame').src = document.getElementsByTagName('iframe')[0].document.links[9];[/JS]mischien moet je die 0 van de tagNames veranderen.



:thumb:
 
Nee hij wilt niet :S
Misschien een idee?
[JS]<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--//
function loaded(fme)
{
setTimeout(load,1000)
function load()
{
document.getElementById('myFrame').src = document.getElementsByTagName('iframe')[0].document.links[9];
return true;
}
}
//-->
</script>
</head>

<body>
<p><iframe id="myFrame" name="iframe" src="http://google.nl"
border="0" width="600" height="480"
style="border: 0 solid #000000"
onload="return loaded(this)"></iframe></p>
</body>
</html>
[/JS]
 
Laatst bewerkt:
Ah, maar natuurlijk:
Fout: document.getElementsByTagName("iframe")[0].document is undefined
Bronbestand: file:///C:/Users/Gebruiker/Desktop/test.html
Regel: 12
Dus ik paste het aan, maar toen kreeg ik dit:
Fout: Geen toestemming voor <file://> om eigenschap Window.document van <http://www.google.nl> te lezen.
Bronbestand: file:///C:/Users/Gebruiker/Desktop/test.html
Regel: 26
Oh noes! Rejected!


Dit was mn code:
HTML:
<html>

   <head>

      <meta http-equiv="Content-Language" content="en-us">

      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

   </head>


   <body>
 
      <p>
         <iframe id="myFrame" name="iframe" src="http://google.nl"
          border="0" width="600" height="480"
          style="border: 0 solid #000000" onload='test();'></iframe>
      </p>



      <script type="text/javascript">

         function test()
         {
            document.getElementById('myFrame').src = document.getElementsByTagName('iframe')[0].contentWindow.document.links[9];
         }

      </script>


   </body>

</html>
Het 'werkt' wel, echter, omdat er een zgn. cross-origin policy is, kan je niet zomaar een andere pagina bereiken via Javascript.

Mischien dat het wel werkt als je t online hebt staan, maar dat denk ik niet.




:thumb:
 
Ja,ik had het inderdaad ook al zo geprobeerd. En ik had ook al gelezen dat het niet mogelijk is via een ander domein die functie te gebruiken, maar is er geen andere oplossing voor dit?

Wat ik eigenlijk wil is iets van een andere site aflezen, maar aangezien de 9e link verschilt per keer moet hij deze eerst uitlezen. Is er een andere mogelijkheid dan een iframe om informatie van een compleet andere pagina op te vragen?
 
PHP kan wel pagina's 'openen' (lezen). Je zult dan dus door de broncode moeten zoeken naar de 9e <a> tag en daarvan de href attribute doorgeven of ernaar headen. Maar via een iframe.... denk het niet.
 
Ik gebruik freewebs (-.-) en die ondersteunt dat dus niet :S. Weet iemand een goede en gebruiksvriendelijke provider die dit wel ondersteunt?
 
onder de sectie websites maken > hosting (3 van onderen geloof ik) kan je vast wat vinden, maar 110mb.com was vroeger wel o.k.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan