Υπάρχει τρόπος να κάνετε έναν σύνδεσμο να ανοίξει ένα νέο παράθυρο του προγράμματος περιήγησης (όχι καρτέλα) χωρίς τη χρήση javascript;
Με την καθαρή HTML δεν μπορείτε να το επηρεάσετε αυτό - κάθε σύγχρονο πρόγραμμα περιήγησης (= ο χρήστης) έχει πλήρη έλεγχο αυτής της συμπεριφοράς, επειδή έχει γίνει κατάχρηση στο παρελθόν...
Μπορείτε να ανοίξετε ένα νέο παράθυρο (HTML4) ή ένα νέο πλαίσιο περιήγησης (HTML5). Το πλαίσιο περιήγησης στα σύγχρονα προγράμματα περιήγησης είναι ως επί το πλείστον "νέα καρτέλα" αντί για "νέο παράθυρο". Δεν έχετε καμία επιρροή σε αυτό, και δεν μπορείτε να "αναγκάσετε"τα σύγχρονα προγράμματα περιήγησης να ανοίξουν ένα νέο παράθυρο.
Για να το κάνετε αυτό, χρησιμοποιήστε το χαρακτηριστικό target
του anchor element's[1]. Η τιμή που αναζητάτε είναι _blank
[2].
<a href="www.example.com/example.html" target="_blank">link text</a>
Η επιβολή ενός νέου παραθύρου είναι δυνατή μέσω javascript - δείτε την εξαιρετική απάντηση του Ievgen'παρακάτω για μια λύση javascript.
*(!) Ωστόσο, πρέπει να γνωρίζετε ότι το άνοιγμα παραθύρων μέσω javascript (αν δεν γίνεται στο συμβάν onclick από ένα στοιχείο άγκυρας) μπορεί να μπλοκαριστεί από τα popup blockers!
[1] Αυτή η ιδιότητα χρονολογείται από την εποχή που τα προγράμματα περιήγησης δεν είχαν καρτέλες και η χρήση πλαισίων ήταν η τελευταία λέξη της τεχνολογίας. Εν τω μεταξύ, η λειτουργικότητα αυτού του χαρακτηριστικού έχει αλλάξει ελαφρώς (βλ. MDN Docu)</sub>,
[2] Υπάρχουν κάποιες άλλες τιμές που δεν έχουν πλέον νόημα (επειδή σχεδιάστηκαν με γνώμονα τα framesets), όπως _parent
, _self
ή _top
.</sub>,
Μπορείτε να δοκιμάσετε αυτό:-
<a href="some.htm" target="_blank">Link Text</a>
και μπορείτε να δοκιμάσετε και αυτό:-
<a href="some.htm" onclick="if(!event.ctrlKey&&!window.opera){alert('Hold the Ctrl Key');return false;}else{return true;}" target="_blank">Link Text</a>
Τα προγράμματα περιήγησης ελέγχουν πολλές από αυτές τις λειτουργίες, αλλά
<a href="http://www.yahoo.com" target="_blank">Go to Yahoo</a>
θα προσπαθήσει να ανοίξει το yahoo.com σε ένα νέο παράθυρο.