03. oktober 2003 - 10:32
Der er
7 kommentarer og
1 løsning
Href onclick boolean return i netscape/mozilla
Jeg har et link med en onclick funktion der sætter en boolean for om navigeringen skal forstsætte.
Funktionen kaldes først, og en anden funktion sætter boolean værdien der er deklareret som en global variabel som standard er sat til false og kun bliver sat til true hvis nogle kriterier er opfyldte.
Det virker fint i IE, men det er somom Netscape/Mozilla læser boolean variablen onload og derfor ikke "opdager" når den ændres til true og navigeringen kan fortsætte.
Er der nogen der har en løsning, så netscape/mozilla læser værdien rigtigt?
06. oktober 2003 - 09:33
#3
Jeg har lavet det hele en anelse om. Den globale variabel bliver sat fra et modal window i IE og virker fint herfra, da browseren venter på svar fra modal dialogen før den springer videre.
Problemet er, at jeg buger pop-ups i alle andre browsere og dem venter browseren ikke på. Er der en mulighed for at få scriptet til at "vente" på svar fra pop-up'en?
06. oktober 2003 - 09:36
#4
var boolFollowLink = false;
function ShowLegalInformation(languageid) {
var cookiecheck = getCookie('Legal');
var cookiereferer = getCookie('Referer');
var cookiebaseurl = getCookie('BaseUrl');
if (cookiereferer == null)
cookiebaseurl = '';
if (cookiebaseurl != null)
cookiereferer = '';
cookiebaseurl.toString();
cookiereferer.toString();
if ((cookiecheck != 'DONE')) {
var url = '/popup/frameset.asp?sLangID=' + languageid;
if (navigator.appName.indexOf('Microsoft') != -1) {
if (navigator.appVersion.substr(0, 1) > 3)
window.showModalDialog(url, window, 'dialogHeight: 450px; dialogWidth: 460px; center: yes; help: no; resizeable: no; status: no;');
else {
var legalwin = window.open(url,'legalinfo','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=NO,resizable=NO,width=460,height=450');
legalwin.focus();
}
}
else {
var legalwin = window.open(url,'legalinfo','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=NO,resizable=NO,width=460,height=450');
legalwin.focus();
}
} else {
//Hvis cookie er sat, så autoaccepter og spring videre
boolFollowLink = true;
}
return boolFollowLink;
}
06. oktober 2003 - 17:26
#5
Prøv med en løkke, som kontrollerer at en kontrolvariabel er sat fra legalwin
var legalOk = false;
og så i popup'erne:
opener.legalOk = true;
når folk har gjort noget.
og en lille funktion, som looper indtil legalOk er ok ...
function waitForLegal(){
while(!legalOk){
t = (t+1)%1000;
}
}
-- har ikke prøvet sådan noget før, men prøv !-)
21. oktober 2003 - 12:36
#6
Jeg havde helt glemt spørgsmålet herninde .. sorry.
Jeg har lavet noget der ligner, så din ide er god nok. Hvis du vil have point skal du lige svare :o)