Du bist nicht angemeldet.

1

17.12.2012, 07:15

Popup Blocker erkennen

Hallo BCler.

In Knödels wird erkannt, wenn der Popupblocker aktiv ist. Folgendes habe ich dazu loggen können:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<< :.....AntiPopup....
3A 00 01 BF 0B 09 41 6E 74 69 50 6F 70 75 70 0C 0B 00 0C
MODULE: ACTIVATE_FUNCTIONS
....
>> q....infoSystem..slash:/foto.....
71 00 01 B8 0A 69 6E 66 6F 53 79 73 74 65 6D 0B 0B 73 6C 61 73 68 3A 2F 66 6F 74 6F 00 00 00 01 0C
MODULE: STAT_REPORT

>> e./R./foto James
65 00 2F 52 00 2F 66 6F 74 6F 20 4A 61 6D 65 73

<< x.http://photo.knuddels.de/photos-profile.html?d=knuddels.de&id=james.foto
78 00 68 74 74 70 3A 2F 2F 70 68 6F 74 6F 2E 6B 6E 75 64 64 65 6C 73 2E 64 65 2F 70 68 6F 74 6F 73 2D 70 72 6F 66 69 6C 65 2E 68 74 6D 6C 3F 64 3D 6B 6E 75 64 64 65 6C 73 2E 64 65 26 69 64 3D 6A 61 6D 65 73 00 66 6F 74 6F

>> e./R./showpopupblockedhint
65 00 2F 52 00 2F 73 68 6F 77 70 6F 70 75 70 62 6C 6F 63 6B 65 64 68 69 6E 74

>> q....popup..blocked.....
71 00 01 B8 05 70 6F 70 75 70 0B 07 62 6C 6F 63 6B 65 64 00 00 00 01 0C
MODULE: STAT_REPORT


Dieses passiert auf der Homepage: http://i.imagebanana.com/img/xtixpnoh/screen.png (fehlt noch was im Maskotchen)

Meine Frage dazu: Woher weis der Client, dass er /showpopupblockedhint senden muss? Wie funktioniert der Aufruf der JS-Datei?

popuphint.js spielt dabei auch eine Rolle.

Bin mir auch net ganz sicher ob das in dieses Subforum am meisten reinpasst.

Hilfe erwünscht. 8)
Meine Grafikseite: http://chatsmileys.senzious.de/

2

17.12.2012, 17:42

ganz easy.
Beim erstellen den popups einfach prüfen ob, es geöffnet wird.
Hierzu wird das popup angesprochen.

PHP-Quelltext

1
2
3
4
var meinpopup window.open(......); // popup öffnen
if(popup.title == null) { // check ob popup geöffnet, indem getestet wird ob der titel der seite nicht leer/null ist
// popup kann nicht geöffnet werden
}


so UNGEFÄHR gehts...
gibt noch weitere möglichkeiten, beispielsweise das checken ob im popup selber eine funktion existiert..

3

17.12.2012, 18:39

Der "Clue" an der Sache ist das Fenster, was sich jetzt auch im Chat öffnet, wenn ein Popup blockiert wurde (/showpopupblockedhint wie du geloggt hast).

Offensichtlich wird das erste geloggte Paket vom Module-Protokoll angesprochen.

Die Frage ist jetzt, wie Knuddels das macht.

a) Der JavaScript-Teil auf der Webseite gibt wieder Daten an das Applet zurück (konnte ich beim Überfliegen nicht finden) und b) wird ausgeführt.
b) Das Applet "merkt" bereits irgendwie selbst, wenn ein Popup geblockt wurde - um es nun zu checken (nachdem eine Seite geöffnet wurde per x-Paket) greift es auf den Knoten ACTIVATE_FUNCTIONS zu. In diesem Fall wird a) nicht ausgeführt.

Gruß
Kein Support per PN. Nur im Forum!

4

17.12.2012, 18:43

Wenn Popup-Blocker aus ist, wird DEACTIVATE_FUNCTIONS gesendet am Anfang anstatt ACTIVATE_FUNCTIONS
Meine Grafikseite: http://chatsmileys.senzious.de/

5

17.12.2012, 18:54

Hätte eine idee, weiss aber nun nicht ob es tatsächlich so ist:

1. Login
Beim login wird per JS berits die Popup-funktion gecheckt und ans applet weitergereicht

2. Open
Beim öffnen der URL tritt eine Exception auf, die darauf hinweist dass die URL aufgrund des Popupblockers nicht aufgerufen wurde

Ähnliche Themen