[JS] Ingevoerde url in iframe openen

Pagina: 1
Acties:

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02-2025
Mijn pagina bevat een invoerveld waar je een URL in kunt voeren.
Wanneer je dan op Go! klikt, moet deze URL in het iframe geladen worden.
Ik heb het volgende, maar het werkt nog niet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title></title>
</head>
<body>
<form>
Enter URL <input type="text" id="urlname">
<input type="button" value="Go!" onClick="document.getElementById('hiddenFrame').style.display='block';document.getElementById('hiddenFrame').location.href=document.getElementById('urlname').value;">
</form><br>
<iframe src="" width="100%" height="90%" name="hiddenFrame" id="hiddenFrame" style="display:none"></iframe>
</body>
</html>

Before me there was many, after me there will be none. I'm the one!


  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

Nee het werkt idd niet. Waarom zou het niet werken dan? Heb je er zelf al een keer aan gedacht of niet? Heb je al wat gezocht? Wat heb jij al geprobeert?

disjfa - disj·fa (meneer)
disjfa.nl


  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Als iframe een src property heeft om de URL van het iframe in te stellen. Zou het dan niet logisch zijn om die dan ook te wijzigen als je de URL van het iframe wilt veranderen?

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02-2025
Bluestorm schreef op 10 maart 2004 @ 17:12:
Als iframe een src property heeft om de URL van het iframe in te stellen. Zou het dan niet logisch zijn om die dan ook te wijzigen als je de URL van het iframe wilt veranderen?
Ja, daar zat ik ook al aan te denken.
Moet ik dit dan met document.write('<iframe enz. enz.>') doen?

Before me there was many, after me there will be none. I'm the one!


  • jw
  • Registratie: Augustus 1999
  • Laatst online: 20:38

jw

ik heb het thuis ook ff geprobeerd. je moet het als volgt doen:

code:
1
2
3
4
....
document.getElementById('hiddenFrame').style.display='block';
document.getElementById('hiddenFrame').src = document.getElementById('urlname').value;
....


dat werkt bij mij iig

  • mrbombastic
  • Registratie: Oktober 2002
  • Laatst online: 13-02-2025
Ben inmiddels al een stuk verder gekomen en heb nu dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html>
<head>
<title></title>
</head>
<body>
<form>
<table border="1" width="50%">
  <tr>
    <td width="19%"><font size="2"> URL&nbsp;</font></td>
    <td width="31%"><font size="2">Start at number&nbsp;</font></td>
    <td width="25%"><font size="2">Extension (e.g. html)&nbsp;</font></td>
    <td width="25%"><font size="2">Pause time in sec.</font></td>
  </tr>
  <tr>
    <td width="19%"><input type="text" name="urlname" size="10"></td>
    <td width="31%"><input type="text" name="start" size="5">
    </td>
    <td width="25%"><input type="text" name="extension" size="5">
    </td>
    <td width="25%"><input type="text" name="pausetime" size="5">
    </td>
  </tr>
</table>

<script>
function opentoframe(){
var myelement = document.getElementById
setTimeout(hiddenFrame.location.href=myelement('urlname').value + myelement('start').value + '.' + myelement('extension').value,1000*parseInt(myelement('pausetime').value))
myelement('frameDiv').style.display='inline'
}
</script>

<input type="button" value="Go!" onClick="opentoframe()">
</form><br>
<div id="frameDiv" style="display:none;">
    <iframe src="" width="100%" height="90%" name="hiddenFrame"></iframe>
</div>
</body>
</html>


Alles werkt naar behoren.

Het probleem is alleen dat de setTimeout functie niet goed werkt, d.w.z. er wordt helemaal niet gewacht bij het inladen van de pagina in het iframe.
Als ik de setTimeout in de onclick event zet, dan wacht hij wel.
Hoe komt dit?

Before me there was many, after me there will be none. I'm the one!


  • Hican
  • Registratie: December 2001
  • Laatst online: 22-07-2022

Hican

hican.net

Dat komt volgens mij omdat hij eerst de functie uitvoert. Hij zet dus eerst die pagina in de iFrame en dan voert hij pas de SetTimeOut uit. Als je dat in de onClick zet doet hij meteen die SetTimeOut, waarna hij de rest in de iFrame gooit.

Hican.net | IT Blog about all that is interesting.

Pagina: 1