Når det bliver klikke på linket, skal en div - indeholdende en iframe blive sat til visibel eller hva' det nu hedder. Iframen skal når div'en bliver vist hente "page.asp" med QS værdierne.
Samtiddigt vil jeg gerne have muligheden for at reloade "hovedsiden" når der feks bliver postet, eller hvis var bliver sat til noget andet - den værdi opsnupper jeg i ASP selvf. men skal bruge en lille kode stump der kan reloade hele skidtet :)
Hvordan gør jeg dette?
Kodeeksempler eller links til sider med "relevant ;)" indhold søges med lys og lygte.
Hvis Iframen bliver reloadet skal det hele reloades... så at sige - hvis det ikke giver mening må jeg lige hive fat i gyldendals den røde for inspiration :) - Kigger på det kode du har smækket ind nu
<script type="text/JavaScript" language="JavaScript"> loc = "" + window.location.search; tid = ""; nu = parseInt(new Date().getTime()); ticks = 100; // hvor langt tid der må være i checket mellem første load og reload
if (loc.indexOf("tid") == -1) { window.location.href = window.location.href + "&tid=" + new Date().getTime(); } else { tid = loc.substring(loc.indexOf("tid=") + "tid=".length); tid = parseInt(tid.substring(0,15));
if (nu - tid > ticks) parent.location.reload(true); } </script> </head>
<body> <noscript> Der bruges JavaScript på denne side. Hvis JavaScript er deaktiveret, fungerer visse funktioner ikke. </noscript>
Ideen er simpel: - Siden loades - Check om paramteren "tid" eksisterer i urlen -- Hvis nej --- iframens url sættes til nuværende url plus plus "&tid=" + tiden -- ellers --- find tiden --- træk "tid" fra nuværende tid (hentes via JavaScript) --- hvis forskellen er større end indholdet af variablen "ticks" ---- reload hovedsiden
Jeg håber at det er forståeligt.. :-)
Problemet i Mozilla FireFox er, at den iframen åbenbart får samme "tid"-værdi igen, når hovedsiden reloades.. derfor til "nu - tid" altid være større end "ticks", hvilket betyder at hovedsiden altid reloades..
<script type="text/JavaScript" language="JavaScript"> loc = "" + window.location.search; tid = ""; nu = parseInt(new Date().getTime()); ticks = 5000; // hvor langt tid der må være i checket mellem første load og reload
if (loc.indexOf("tid") == -1) { window.location.href = window.location.href + "&tid=" + new Date().getTime(); } else { tid = loc.substring(loc.indexOf("tid=") + "tid=".length); tid = parseInt(tid.substring(0,15));
if (nu - tid > ticks) parent.location.reload(true); } </script> </head>
<body> <noscript> Der bruges JavaScript på denne side. Hvis JavaScript er deaktiveret, fungerer visse funktioner ikke. </noscript>
DIT INDHOLD HER
</body> </html>
Jeg ved ikke hvordan man kan få det til at fungerer i FireFox.. den looper konstant efter først reload af hovedsiden, fra iframen..
Jeg har tilføjet et browser-check (baseret på UserAgent), der IKKE afvikler koden, hvis browseren-strengen indeholder "firefox".
Her er den nye kode:
<html> <head> <title>din titel</title>
<script type="text/JavaScript" language="JavaScript"> ua = navigator.userAgent.toLowerCase(); if (ua.indexOf("firefox") == -1) { loc = "" + window.location.search; tid = ""; nu = parseInt(new Date().getTime()); ticks = 5000; // hvor langt tid der må være i checket mellem første load og reload
if (loc.indexOf("tid") == -1) { window.location.href = window.location.href + "&tid=" + new Date().getTime(); } else { tid = loc.substring(loc.indexOf("tid=") + "tid=".length); tid = parseInt(tid.substring(0,15));
if (nu - tid > ticks) parent.location.reload(true); } }
function check_ua() { if (ua.indexOf("firefox") > -1) { besked = "<i>Et script, der forårsager en endelig loop i Mozilla Firefox, er blevet deaktiveret.</i>"; document.getElementById("besked").innerHTML = besked; } } </script> </head>
<body onload="check_ua()"> <noscript> Der bruges JavaScript på denne side. Hvis JavaScript er deaktiveret, fungerer visse funktioner ikke. </noscript> <div id="besked"></div>
<script type="text/JavaScript" language="JavaScript"> ua = navigator.userAgent.toLowerCase(); if (ua.indexOf("firefox") == -1) { loc = "" + window.location.search; tid = ""; nu = parseInt(new Date().getTime()); ticks = 5000; // hvor langt tid der må være i checket mellem første load og reload
if (loc.indexOf("tid") == -1) { window.location.href = window.location.href + "&tid=" + new Date().getTime(); } else { tid = loc.substring(loc.indexOf("tid=") + "tid=".length); tid = parseInt(tid.substring(0,15));
if (nu - tid > ticks) parent.location.reload(true); } }
function check_ua() { if (ua.indexOf("firefox") > -1) { besked = "<i>Et script, der forårsager en uendelig loop i Mozilla Firefox, er blevet deaktiveret.</i>"; document.getElementById("besked").innerHTML = besked; } } </script> </head>
<body onload="check_ua()"> <noscript> Der bruges JavaScript på denne side. Hvis JavaScript er deaktiveret, fungerer visse funktioner ikke. </noscript> <div id="besked"></div>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.