webForumDet fria alternativet

Går det att testa om en browser har popup blockering utan att provöppna ett fönster ?

JavaScript

11 svar · 443 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Jag vill skriva ut en text om popup blockering finns påslaget i webläsaren.

Följande fungerar men provöppnar ett fönster

<script type="text/JavaScript" language="JavaScript">
 var mine = window.open('','','width=1,height=1,left=0,top=0,scrollbars=no');
 if(mine)
    var popUpsBlocked = false
 else
    var popUpsBlocked = true
 mine.close()
</script>

<script type="text/JavaScript" language="JavaScript">
if(popUpsBlocked)
  alert('We have detected that you are using popup blocking software.\nThis easy article can show you how to detect this using Javascript...');
</script>

Går detta att åstakomma utan att provöppna ett fönster?

Medlem sedan jan. 2005713 inlägg
#2

Det ska ju finnas ett script som kollar om man har popup spärr eller inte, men jag kommer inte ihåg vart jag så det någonstans. Vill minnas att det var här på forumet.. men jag är ínte säker.

Medlem sedan jan. 2005713 inlägg
#3

Där var det ju:

http://www.jojoxx.net/faq/faqview.asp?q=179

Medlem sedan dec. 20025 483 inlägg
#4

Men även Johans lösning öppnar ett fönster, något som trådskaparen vill undvika.

Medlem sedan jan. 2005713 inlägg
#5

Men.. varför inte använda scriptet just då besökaren ska öppna en popup på din sida. Då gör det ju inget om det nu skulle öppnas ett fönster..

Medlem sedan dec. 20025 483 inlägg
#6

stattin skrev:

Men.. varför inte använda scriptet just då besökaren ska öppna en popup på din sida. Då gör det ju inget om det nu skulle öppnas ett fönster..

Medlem sedan maj 20012 080 inlägg
#7

Men.. varför inte använda scriptet just då besökaren ska öppna en popup på din sida. Då gör det ju inget om det nu skulle öppnas ett fönster..

Jag har aldrig sagt att jag vill öppna ett fönster. Jag vill skriva ut en text där det står att det inte går att öppna ett fönster pga att popupblockering är påslagen.
Det går att åstakomma genom att provöppna men det exemplet jag har labbat med gör att det kommer upp en informationsrad i webläsaren och först när man klickar på den så släpps fönstret upp. Det är denna informationsrad som jag vill undvika (samt att fönstret aldrig öppnas (eller syns).

Medlem sedan juni 20014 290 inlägg
#8

Varför test om dom har en blockerar om du inte vill öppna ett fönster/popup?

Är det bara informativ information?

Medlem sedan maj 20012 080 inlägg
#9

Japp... Vill få upp en text som förklarar varför du måste göra något manuellt som du tidigare inte behövde. Förut så poppade saker upp automatiskt. :)

Medlem sedan juni 20014 290 inlägg
#10

Gillar faktiskt firefox popup blocker.

Den blockerar om en sida vill slänga up popups automatiskt när man laddar sidan, men blockerar inte om jag klickar på en länk som slänger up en popup.

Så jag har inte märkt några problem med den.

Medlem sedan maj 20012 080 inlägg
#11

Håller med dig om att de är bra. Både FF och IE gör jobbet på ett snyggt sätt.

Medlem sedan jan. 2005713 inlägg
#12

Ett alternativ är väl att sätta top=2000 och left=2000.. då
hamnar fönstret nånstans långt utanför skärmen och syns då
med andra ord inte. Tror jag.

<script type="text/JavaScript" language="JavaScript">
 var mine = window.open('','','width=1,height=1,left=0,top=0,scrollbars=no,[B]top=2000,left=2000[/B]');
 if(mine)
    var popUpsBlocked = false
 else
    var popUpsBlocked = true
 mine.close()
</script>

<script type="text/JavaScript" language="JavaScript">
if(popUpsBlocked)
  alert('We have detected that you are using popup blocking software.\nThis easy article can show you how to detect this using Javascript...');
</script>

Men sen när jag testa ditt script så vart det nå fel.. mine är null
eller nått sas det, kanske för att min popup spärr stör på nå vis.

Men jag löste det på följande vis:

[B]<SCRIPT LANGUAGE="JavaScript">
<!--
window.onerror=fel_har_skett;
function fel_har_skett()
{ return true; }
//-->
</SCRIPT>

</head>

<body>[/B]

<script type="text/JavaScript" language="JavaScript">
 var mine = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=1,height=1,top=2000,left=2000');
 if(mine)
    var popUpsBlocked = false
 else
    var popUpsBlocked = true
 mine.close()
</script>

<script type="text/JavaScript" language="JavaScript">
if(popUpsBlocked)
  alert('We have detected that you are using popup blocking software.\nThis easy article can show you how to detect this using Javascript...');
</script>

Sen funka det prima.. men det blir ju lite dubbla budskap när
både ditt script säger att jag har en popup spärr och samtidigt
säger min popup att ett popup fönster är spärrat.

Naturligtvis så är det inte bara att kopiera och klistra för när man
gör det så blir det fel på en rad som påverkar hela scriptet. När
man har kopierat scriptet så måste man rätta till denna rad:

 
('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=1,height=1,top=2000,left=2000');

Så att hela den texten är på samma rad..

/stattin

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)