Något luddig rubrik, men här är iaf mitt problem. Jag har skrivit lite kod som ska ta en URL från
en inputbox i top framen och öppna denna URL i main frame, där den tar tid hur lång tid det tog osv, har fixat detta.
Men efter den räknat ut hur lång tid det tagit att ladda sidan ska den skriva ut resultatet samt länk i den den högra framen. Länken ska åter öppna URL:en i mainframe..
var startTime;
var url;
var tDiff;
var stopTime;
var showURL;
var arre = new Array();
var i = 0;
function goURL(url)
{
showURL = url;
window.open(showURL,'main');
startTimer();
}
function startTimer()
{
startTime = new Date();
}
function enable(){
frames[ 0 ].document.form1.bakk.disabled=true;
frames[ 0 ].document.form1.forw.disabled=true;
}
// när framen laddats klart anropas denna funktion
function stopTimer()
{
stopTime = new Date();
tDiff = (stopTime.getTime() - startTime.getTime())/1000;
var newTime = Math.round(tDiff * 10) / 10;
alert("Sidan har laddats klart... det tog "+ newTime +" sekunder att ladda sidan");
[B]arre[i] = frames[ 2 ].document.write("<a href=\""+showURL+"\" target=\"main\" onclick=\"parent.startTimer()\">"+ showURL + " ( " + newTime + " s )</a><br />");[/B]
if(frames[ 2 ].document.body.innerHTML == "")
{
return;
}
else{
enable();
}
}
Men nu är det så om jag klickar på länken i högra framen, så öppnas visserligen en URL i mainframe
men inte den rätta, den tar nämligen den URL jag senast skrev i inputen på top framen.
Så som jag tycker det ska gå till, så vill jag inte ( koden där jag har fetmarkerat ) anropa funktionen startTimer()
jag vill hellre skicka en inparameter till funktionen goURL så den uppdaterar den URL som finns i den funktionen.
Nåja kanske lite kasst föklarat, men fråga gärna om ni inte förstår ;)
/r: ni kan även se sidan här för att enklare förstå mitt problem
Gör att toppramen laddas om hela tiden...
Så är jag skeptisk till att du använder stopTimer() i main.html. Varför? Skippa åtminstone att inkludera his.js där och skriv
<BODY onload="parent.stopTimer()">
om du absolut måste ha med stopTimer() där.
Intressant grej detta. Kan jag fortsätta utveckla den? Kan bli något seriöst!
Sen att onload="startTimer()" låg i main.html, var inte meningen, det satta jag nog dit när jag började med koden, sen har jag inte vart inne i den koden så mkt eftersom den knappt används. Så den e borta nu!
I min topframe har jag ju även 2 buttons som man ska ett steg bakåt resp. framåt.
Om jag är på den sista arrayen i arre *där mina länkar ligger, så ska den disabla framåt knappen så man inte kan gå framåt någe mer, detsamma gäller för bakåtknappen, om 0 disabla bakåt.
Det största problemet med det här, är ju att stopTimer() körs när main frame har laddats, då läggs ju även en ny rad till i arrayen, vilket gör att man kommer ju aldrig till slutet av arrayen?
Ok, här kommer en helt ny version, mer eller mindre baserad på din ursprungliga. Den är kraftigt förbättrad och koden är delvis objektorienterad och väl strukturerad.