Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Popup blockerare och javascript

Postad 2004-09-15 av Simon Dahlbacka i sektionen ASP.NET, C#, Okategoriserat med 2 Kommentarer | Läst av: 4591, Betyg: 85%

Förord

Användningen av popup blockerare blir allt vanligare, och dessa ställer till med vissa problem, speciellt i samband med dåligt kodad javascript. Detta diskuteras i denna artikel.
Innehåll
  » Allt fler använder popup blockerare
  » Problemet
  » Lösningen?

Popup blockerare och javascript




Allt fler använder popup blockerare

I och med den nya service pack 2 för windows xp, samt den ökade användningen av andra browsers än Internet Explorer (t.ex. Mozilla Firefox), så är det allt fler som använder nån form av popup blockerare. Detta kan ställa till problem om man behöver använda popup fönster i sin webbdesign.



Problemet

Dom flesta popup blockerare blockerar alla fönster som öppnas automatiskt, dvs via onload event eller liknande, däremot tillåts (ofta) fönster som öppnas via t.ex. onclick.

Alltför ofta ser man kod i stil med följande:

function doStuffWithNewWindow() {
var newwin = window.open("url", "_blank", "width=100, height");

//fel
var el = newwin.document.getElementById("foo");
}

Ifall popup fönstret blockerats här så kommer newwin att vara null, och användaren välkomnas med ett "Error occured in script, do you want to debug?" meddelande, vilket vi inte är vad vi vill.

Meningen med popup blockerare är ju att hindra automatiskt öppnande fönster, och detta är svårt att komma runt om man verkligen vill öppna ett fönster helt automatiskt. Detta kan dock oftast lösas med att kräva en explicit knapptryckning.


Lösningen?

För att hindra att våra användare får en massa script fel som beror på att dom använder popup blockerare (samt att vi kodat slarvigt), så kan (och bör) vi kolla att öppnandet av vårt fönster verkligen lyckades, och lyckas det inte kan vi meddela användaren att han antagligen använder popup blocker.

function doStuffWithNewWindow() {
var newwin = window.open("url", "_blank", "width=100, height=100");

if (!newwin) {
alert("Kunde inte öppna ett nytt fönster, använder du popup blocker?");
return;
}

var el = newwin.document.getElementById("foo");
...


Nu kan vi i alla fall relativt graciöst hantera att våra popups blir blockerade och meddela användaren om detta. Hoppas detta hjälpte någon.

Som vanligt mottas kommentarer och tips gärna.
Upp

2 Kommentarer


  1. Pelle Johansson
    10 okt 2004

    Jag har dock letat och funderat på om man inte kan skriva ett script som gör kontrollen utan att behöva göra ett popup-fönster. Finns det inga sådana program? Anledningen till detta kan vara många, exempelvis att man vill informera om att det förekommer popup - istället för att meddela att popup misslyckades.


  2. Simon Dahlbacka
    11 okt 2004

    Pelle: tack för feedbacken, och tyvärr tror jag inte att det (åtminstone på nåt standardiserat sätt) är möjligt.

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 359
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies