Avatar billede sortsnak.dk Nybegynder
05. januar 2005 - 00:02 Der er 12 kommentarer og
1 løsning

Check for SP2 and Pop-up blockers?

Hey eksperter... :)

Er der et klogt hovede som kender en metode i Javascript/Vbscript som kan fortælle hvordan man kan se om brugeren har Service Pack 2 installeret og om brugeren har Pop-up blockers?

Håber virkelig I kan hjælpe mig... På forhånd tak.

- Anders
Avatar billede grunken Nybegynder
05. januar 2005 - 02:51 #1
- en simpel metode at checke for popupdræbere er jo ved at prøve at åbne en popup ;o)
- servicepack2 under IE, burde afsløre sig med strengen SV1, som står for "Security Version 1"

- og så ville et lille script eks. se sådan ud ;o)

<script type="text/javascript">
var pop = window.open("enside.html","vindue");
var sp2= (window.navigator.userAgent.indexOf("SV1")!=-1);
var popkilled = (!pop||!pop.opener);

document.write("Internet Explorer i XP med SP2 installeret: <b>"+sp2.toString()+"</b><br>Aktiv popupkiller eksisterer: <b>"+popkilled.toString()+"</b>");

if(sp2){
  //gør noget hvis servicepack2 eksisterer
}

if(popkilled){
  //gør noget hvis en popupkiller eksisterer
}
</script>
Avatar billede roenving Novice
05. januar 2005 - 19:51 #2
Kanske man skulle kaste window.open i en try/catch-blok ?-)

<script type="text/javascript">
try{
var pop = window.open("enside.html","vindue");
}
catch(e){
pop = null;
}
var sp2= (window.navigator.userAgent.indexOf("SV1")!=-1);
var popkilled = (!pop||!pop.opener);

alert("Internet Explorer i XP med SP2 installeret: \t"+sp2+"\nAktiv popupkiller eksisterer: "+popkilled);

if(sp2){
  //gør noget hvis servicepack2 eksisterer
}

if(popkilled){
  //gør noget hvis en popupkiller eksisterer
}
</script>
Avatar billede sortsnak.dk Nybegynder
05. januar 2005 - 21:12 #3
Weee... tak for det. :)

Roenving, jeg kan ikke se hvad fordelen ved en try/catch er ...? :S Ellers mange tak for hjælpen. :)

Grunken, skriv et svar og du får pointene... :)
Avatar billede roenving Novice
05. januar 2005 - 23:59 #4
Nogle af popup-blokkerne kaster en fejl, hvis man ikke kan oprette en side med window.open, hvorefter resten af koden ikke vil blive udført !-)
Avatar billede olebole Juniormester
06. januar 2005 - 11:40 #5
<ole>

Prøv at tilrettelægge din kode, så du undgår popups. Da alle betydende browsere idag leveres med popup-blokker slået til - og formodentlig vil være det fremover - er popups noget, der hører fortiden til

/mvh
</bole>
Avatar billede sortsnak.dk Nybegynder
06. januar 2005 - 13:56 #6
Det er ret så meget umuligt at undgå at bruge window.open-funktionen når man forsøger at efterligne Windows... ;)
Avatar billede olebole Juniormester
06. januar 2005 - 17:44 #7
Tværtimod - et popup-vindue har ingen somhelst lighed med Windows ... det ligner Internet Explorer  :)

Skal du have noget til at ligne Windows dialoger, skal du da bruge showModalDialog og/eller showModelessDialog:
  http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodaldialog.asp

  http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodelessdialog.asp
Avatar billede sortsnak.dk Nybegynder
08. januar 2005 - 12:54 #8
Missing the point!! :)

En printer-guide i Windows er jo også en "pop-up"... Control Panel er også en "pop-up"; altså et nyt vindue som udspringer fra grundvinduet ("Desktoppen").

Hvis vi så antager at min applikation er desktoppen så skal Control Panel og Printer Guiden jo stadig åbnes i nye vinduer! Om det så bliver med window.open eller ModalDialogs er sagen irrelevant, nu da vi har fået afklaret at der er statusbar på begge typer vinduer! :)

Derfor siger jeg igen; det er ret umuligt at undgå at bruge pop-ups når man forsøger at efterligne windows. :)
Avatar billede olebole Juniormester
08. januar 2005 - 13:32 #9
No - You are missing the point, Hombre  :)

Da du kan fjerne statusbaren i en showModalDialog - og den på andre måder opfører sig langt mere som en form i en windows-applikation - er det den ideelle løsning, fremfor en popUp, åbnet med window.open.
Den går ydermere udenom IE's popup-killer, hvis der ikke er pillet i dennes standard indstillinger.

Prøv metoden i stedet for at tro - dét giver afklaring  ;o)
Avatar billede sortsnak.dk Nybegynder
08. januar 2005 - 13:51 #10
En modaldialog er meget begrænsende i sin måde at håndtere javascript og normale links på. Den er næsten 100% form-orienteret og er, i min situation, mere begrænsende end berigende. Derfor bruger jeg window.open som, med lidt javascript, kan få samme funktion som en ModalDialog.

Det eneste minus ved window.open er at de kan blokkes af en Pop-up-blocker. Men det kan man jo også sikre sig imod med Javascript...

Statusbar på ModalDialog i XPSP2 IE6: http://www.allora.dk/statusbar_modal.jpg

"du kan fjerne statusbaren i en showModalDialog" = false


Prøv metoden i stedet for at tro - dét giver afklaring  :P
Avatar billede olebole Juniormester
08. januar 2005 - 14:20 #11
Jamen, jeg er da ikke helt idiot - naturligvis har jeg da testet og har ingen problemer med statusbaren her. Jeg er fuldstændig afklaret  :)

Der er ingen somhelst restriktioner på anvendelse af JS i en modalDialog - og navigationen er blot at indskrive en 100% iframe.

At efterligne en modalDialog med et alm. popup-vindue kræver, at man laver nogle fokus-kald, som til gengæld er ret generende på andre punkter - at efterligne en modelessDialog er umuligt.

Det er ikke uden grund, IE som oftest vælges til professionelle web-applikations interfaces - og det er ikke uden grund, man i disse yderst sjældent ser window.open brugt, men meget ofte modal- og modelessDialoger  ;o)
Avatar billede sortsnak.dk Nybegynder
08. januar 2005 - 14:49 #12
hehe... jeg siger heller ikke du er idiot. :) Jeg er også afklaret. Jeg får desværre bare en statusbar på her, så jeg kunne ikke helt få din påstand til at passe... :)

Ellers er jeg helt enig med det du skriver. :) ModalDialogs har sine fordele og ulemper, og til mit formål er ulemperne større en fordelene. Derfor bruger jeg window.open... :)
Avatar billede sortsnak.dk Nybegynder
20. januar 2005 - 19:38 #13
Case closed.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester