Ανίχνευση Λειτουργίας Popup

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
stewas
Script Master
Δημοσιεύσεις: 436
Εγγραφή: 25 Αύγ 2009 13:48
Τοποθεσία: Πάργα - Αθήνα και Ιωάννινα Πλέον
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από stewas » 10 Αύγ 2010 19:03

Γειά σας και πάλι. Είπα να γράψω (με την βοηθεία κάποιων) ένα script σε JavaScript
Τι κάνει ακριβώς? Ελέγχει και κοιτάει αν λειτουργούν τα popup παράθυρα στον browser. Ίσως Γενικά να είναι άχρηστο αλλά για μένα είναι :)

ορίστε το script :

Κώδικας: Επιλογή όλων

<script language="javascript">
function popupCheck&#40;&#41; &#123;
  var popupWindow = window.open&#40;'','_blank','scrollbars=no'&#41;;
  if &#40;!popupWindow&#41; &#123;
    return true;
  &#125; else &#123;
    popupWindow.close&#40;&#41;;
    return false;
  &#125;
&#125;
 
if&#40;popupCheck&#40;&#41;==true&#41; &#123;
  alert&#40;'Τα popup είναι μπλοκαρισμένα.'&#41;;
&#125; else &#123;
  alert&#40;'Τα popup λειτουργούν κανονικά.'&#41;;
&#125;
</script>
Το επισυνάπτω και σε js αρχείο αν κάποιος θέλει απλά να το καλέσει
Συνημμένα
popupCkecker.zip
(391 Ψηφιολέξεις) Μεταφορτώθηκε 347 φορές

Άβαταρ μέλους
MegasmorF
Honorary Member
Δημοσιεύσεις: 1154
Εγγραφή: 07 Απρ 2005 20:05
Τοποθεσία: ./Root
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από MegasmorF » 13 Αύγ 2010 15:52

Πολύ καλό
Ευχαριστούμε
Πες μου τη λέξη σ αγαπώ σε σένα να πιστέψω...και γω μια ολοκληρη ζωή μπορώ να καταστρεψω...

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από soteres2002 » 13 Αύγ 2010 17:47

Γενικώς δουλεύει. Πολύ καλό. Όμως έχει ένα μειονέκτημα: ότι επειδή προσπαθεί να ανοίξει παράθυρο για να δει αν ο browser το μπλοκάρει, πολλές φορές πετάγεται και ένα ενδιάμεσο dialog από τον browser που σε ρωτά άμα θες να ανοίγει popup, πράγμα ενοχλητικό! Φυσικά, αυτό είναι θέμα του browser και όχι του script, αλλά ίσως θα ήταν better αν ο έλεγχος μπορούσε να γίνει πιο "διάφανα" χωρίς να αλληλεπιδρά και ο browser στο GUI.

Άβαταρ μέλους
stewas
Script Master
Δημοσιεύσεις: 436
Εγγραφή: 25 Αύγ 2009 13:48
Τοποθεσία: Πάργα - Αθήνα και Ιωάννινα Πλέον
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από stewas » 13 Αύγ 2010 17:55

soteres2002 έγραψε:Γενικώς δουλεύει. Πολύ καλό. Όμως έχει ένα μειονέκτημα: ότι επειδή προσπαθεί να ανοίξει παράθυρο για να δει αν ο browser το μπλοκάρει, πολλές φορές πετάγεται και ένα ενδιάμεσο dialog από τον browser που σε ρωτά άμα θες να ανοίγει popup, πράγμα ενοχλητικό! Φυσικά, αυτό είναι θέμα του browser και όχι του script, αλλά ίσως θα ήταν better αν ο έλεγχος μπορούσε να γίνει πιο "διάφανα" χωρίς να αλληλεπιδρά και ο browser στο GUI.
έχει δίκιο. πάει να το ανοίξει και μετά το κλείνει και καλά αν ανοίξει. Πως θα μπορούσαμε να το κάνουμε όπως λες? καμια ιδέα?

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από soteres2002 » 13 Αύγ 2010 18:38

Χμμ.. πραγματικά δεν έτυχε να το χρειαστώ ποτέ, αλλά νομίζω πρέπει να υπάρχει κάποιος stadar τρόπος... πχ να διαβάζεις κάποιες global variables του browser με τα χαρακτηριστικά του, αλλά δεν γνωρίζω συγκεκριμένα...

το να ανοίγεις popup έτσι ώστε να συμπεράνεις αν επιτρέπονται στο browser είναι λίγο hack και λίγο straightforward λύση. Παρ όλα αυτά δουλεύει όμως, άρα είναι ορθή λύση. Όμως έχει αυτό το προβληματάκι με την αλληλεπίδραση στον browser. Επίσης, αυτός ο έλεγχος για το αν ανοίγει το popup window θα μπορούσε να αποτύχει και για άλλους λόγους, εκτός από το γεγονός ότι υπάρχει popup-blocking software που το κάνει να αποτυγχάνει... και σίγουρα είναι browser dependant αυτό - και στον κώδικα δεν υπάρχει αυτός ο διαχωρισμός per browser, και ίσως δεν γνωρίζουμε και πως συμπεριφέρεται στο window.open().

Νομίζω μια καθαρά straightforward λύση είναι να διαβάζει κανείς global variables στο Object πχ του browser...

Σε ένα Google search παντως που έκανα βρήκα παντού την ίδια λύση με τον φίλο που πόσταρε αρχικά, άρα νομίζω κάτι σαν αυτό που προτείνω δεν υπάρχει ηδη στους browsers, αν και θα ήταν καλό και απλούστερο να διαβάζεις μία ιδιότητα και με ένα από if να κάνεις τον έλεγχο.

Άβαταρ μέλους
stewas
Script Master
Δημοσιεύσεις: 436
Εγγραφή: 25 Αύγ 2009 13:48
Τοποθεσία: Πάργα - Αθήνα και Ιωάννινα Πλέον
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από stewas » 13 Αύγ 2010 18:45

soteres2002 έγραψε:Χμμ.. πραγματικά δεν έτυχε να το χρειαστώ ποτέ, αλλά νομίζω πρέπει να υπάρχει κάποιος stadar τρόπος... πχ να διαβάζεις κάποιες global variables του browser με τα χαρακτηριστικά του, αλλά δεν γνωρίζω συγκεκριμένα...

το να ανοίγεις popup έτσι ώστε να συμπεράνεις αν επιτρέπονται στο browser είναι λίγο hack και λίγο straightforward λύση. Παρ όλα αυτά δουλεύει όμως, άρα είναι ορθή λύση. Όμως έχει αυτό το προβληματάκι με την αλληλεπίδραση στον browser. Επίσης, αυτός ο έλεγχος για το αν ανοίγει το popup window θα μπορούσε να αποτύχει και για άλλους λόγους, εκτός από το γεγονός ότι υπάρχει popup-blocking software που το κάνει να αποτυγχάνει... και σίγουρα είναι browser dependant αυτό - και στον κώδικα δεν υπάρχει αυτός ο διαχωρισμός per browser, και ίσως δεν γνωρίζουμε και πως συμπεριφέρεται στο window.open().

Νομίζω μια καθαρά straightforward λύση είναι να διαβάζει κανείς global variables στο Object πχ του browser...

Σε ένα Google search παντως που έκανα βρήκα παντού την ίδια λύση με τον φίλο που πόσταρε αρχικά, άρα νομίζω κάτι σαν αυτό που προτείνω δεν υπάρχει ηδη στους browsers, αν και θα ήταν καλό και απλούστερο να διαβάζεις μία ιδιότητα και με ένα από if να κάνεις τον έλεγχο.
ενδιαφέρον αυτό. θα το ψάξω. και αν βρω λύση θα το ανεβάσω. ευχαριστώ παντως

Άβαταρ μέλους
stewas
Script Master
Δημοσιεύσεις: 436
Εγγραφή: 25 Αύγ 2009 13:48
Τοποθεσία: Πάργα - Αθήνα και Ιωάννινα Πλέον
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από stewas » 13 Αύγ 2010 22:26

λοιπόν ψάχνοντας λίγο στο google βρήκα οτι για να πάρει τις πληροφορίες που θες από τον browser μπορείς μέσω JavaScript με το αντικείμενο Navigator object.

αλλά δεν ξέρω ποια κλάση του να χρησιμοποιήσω για αυτό που θέλω

παραθέτω 2 λινκς
http://www.comptechdoc.org/independent/ ... gator.html
http://www.w3schools.com/js/js_browser.asp

κάθε βοήθεια δεκτή

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από soteres2002 » 14 Αύγ 2010 00:32

Νομίζω ότι ίσως η απάντηση είναι στο Object navigation.plugins για ορισμένους browsers. Είδα τις σελίδες που είπες. Δεν βρήκα πουθενά σε αυτές για τα members της κλάσης plugins. Ίσως με αυτά να μπορεί να γίνει κάποιο matching ονομαστικά στο plugins.name...

Δοκιμάζοντας το [url=javascript:for(var i = 0; i < navigator.plugins.length; i++) alert(navigator.plugins.name);]javascript:for(var i = 0; i < navigator.plugins.length; i++) alert(navigator.plugins.name);[/url] σε Firefox δεν βρήκα αμέσως κάτι... μόνο ενα default plugin το οποίο δεν ξέρω αν κρύβει πληροφορίες για το pop-up blocking μιας και δεν γνωρίζω άλλες ιδιότητες αυτής της κλάσης, ενώ το .name το βρήκα στην τύχη... :kaloe:

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από korgr » 14 Αύγ 2010 00:51

Ασχετο, αλλα νομιζω πως η χρηση της window.open δεν ενδεικνυται πλεον.
Την στιγμη που μπορεις να κανεις τη δουλεια σου με lytebox, highslide κλπ και να παρακαμψεις τους blockers, εγω σαν λυση την συνιστω ανεπιφυλακτα!

Άβαταρ μέλους
stewas
Script Master
Δημοσιεύσεις: 436
Εγγραφή: 25 Αύγ 2009 13:48
Τοποθεσία: Πάργα - Αθήνα και Ιωάννινα Πλέον
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από stewas » 14 Αύγ 2010 00:55

μμμ καθότι αδαής από JS μπορείς να μου τα εξηγήσεις λίγο αυτά?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ανίχνευση Λειτουργίας Popup

Δημοσίευση από korgr » 14 Αύγ 2010 10:03

Νομιζω τα λεει αναλυτικοτατα εδω:
http://www.dolem.com/lytebox/
:)

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες