Rumah >hujung hadapan web >tutorial js >Pop timbul yang sempurna
Masalah dengan pop timbul
Dengan skrip yang dilumpuhkan, pop timbul tidak melakukan apa-apa. Mudah seperti itu. Tetapi jika anda menggunakan standard , tidak akan ada masalah sedemikian. Jadi, bukannya menggunakan:
anda mungkin menggunakan:
<a href="#" onclick="window.open('file.htm');">
Dengan cara ini, jika skrip dilumpuhkan, pautan standard masih berfungsi.
<a href="file.htm" onclick="window.open('file.htm');return false;">
<a href="#" onclick="window.open('file.htm');">
bingo. Masalah diselesaikan. Tetapi ada lebih banyak yang boleh kita lakukan untuk ini!
Dengan kod yang dipinda di atas, enjin carian mendapatkan HREF standard untuk diikuti, jadi itu satu lagi isu yang ditandakan dari senarai masalah kami.
Kesalahan terbesar dengan pop-up adalah bahawa mereka mengambil tumpuan dari tetingkap penyemak imbas utama, dan ini boleh membingungkan. Mereka juga membentangkan isu kebolehgunaan umum selain aksesibiliti. Berapa kerapkah anda melihat seseorang melancarkan pop timbul dan kemudian secara tidak sengaja klik kembali pada tetingkap pelancar dan, memikirkan bahawa tiada apa yang berlaku, klik pautan sekali lagi tanpa hasil? Sudah tentu tingkap telah dibuka tetapi kini di bawah tetingkap pelancar, dan hanya bergerak ke bar tugas dan memilih tetingkap dari sana akan menyelesaikannya.
Caranya adalah untuk memaklumkan pengguna bahawa pautan akan dibuka dalam tetingkap baru. Terdapat beberapa cara untuk menangani perkara ini:
Buka halaman ujian saya
alat pengurusan pautan laman web
<a href="file.htm" onclick="window.open('file.htm');return false;">Pautan di atas akan dikekalkan dengan baik ... hampir. Separuh daripadanya akan - bahagian HREF. Tetapi bahagian onclick mungkin akan diabaikan. Ini adalah masalah besar. Anda mungkin berfikir bahawa pautan anda telah dikemas kini, tetapi sebenarnya orang yang mempunyai JavaScript didayakan akan dihantar ke halaman yang hilang. Jadi, anda mungkin mendapati kod anda akan ditukar kepada:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;" target="newWin">Dan jika anda menjalankan validator pautan pada halaman pelancaran, nampaknya pautan anda memang sah. Jadi, bagaimana kita menangani isu ini? Suka begitu:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;">Hanya ada satu pautan untuk mengekalkan, dan HREF yang betul akan digunakan untuk kaedah Window.Open. Cemerlang â € "Sekarang kita mendapat tempat!
pembunuh pop-up/mozilla melumpuhkan pop timbul
Kami mengesyorkan menggunakan fungsi yang boleh diletakkan dalam beberapa kod JavaScript yang dikongsi bersama (seperti yang telah kami lakukan dengan laman web ini), dan yang mudah dipanggil dari mana-mana sahaja di laman web ini. Ini jauh lebih disukai daripada menulis fungsi tingkap. Sebagai tambahan kepada URL, anda mungkin ingin memasukkan parameter seperti ketinggian dan lebar, dan jenis gaya pop timbul untuk dipilih (terpulang kepada anda apa gaya yang anda tentukan).
inilah kod yang saya cadangkan:
<a href="#" onclick="window.open('file.htm');">
Kod tambahan dalam fungsi mengendalikan aspek fokus. Jika anda mengklik pautan yang memanggil fungsi ini, kemudian klik kembali pada halaman supaya pop timbul tersembunyi, dan kemudian klik pada pautan pop timbul yang lain, kod menilai keadaan pop timbul, kemudian menutup tetingkap pop timbul dan membuka semula dengan dimensi baru.
untuk memanggil fungsi anda akan menggunakan kod berikut:
<a href="file.htm" onclick="window.open('file.htm');return false;">
atau, untuk menggunakan beberapa contoh sebenar:
ini
Adakah pautan pop timbul saya (mod konsol)
Ini
Adakah pop timbul saya (mod tetap)
Ini
Adakah saya (mod elastik)
Nota: Bahagian 'kembali palsu' secara berkesan membatalkan tindakan lalai HREF, jadi ia tidak akan membuka pop timbul dan tingkap HTML biasa-ia akan membuka satu atau yang lain. Cuba pautan di atas dengan dan tanpa JavaScript membolehkan untuk melihat sendiri.
Apa lagi yang boleh anda minta? Baiklah ... ada satu bahagian akhir icing pada kek ini.
Apabila pop timbul dibuka, kami mungkin bergantung kepada orang untuk menggunakan kawalan sistem penyemak imbas/operasi untuk menutup tetingkap yang baru dibuka.
Tetapi orang tidak selalu melakukan ini! Oleh itu, kita harus menyediakan pautan (atau butang, jika anda lebih suka) dalam tetingkap pop timbul sendiri untuk membolehkan pengguna menutupnya. Walau bagaimanapun, mari kita anggap bahawa pengguna kami mempunyai skrip yang dilumpuhkan, dan tetingkap pop timbul dibuka melalui laluan HREF standard. Pautan 'Tutup tetingkap ini' yang anda sediakan dengan bijak akan mendorong dialog yang tidak sangat mesra seperti ini:
inilah kod untuk melakukan ini:
<a href="file.htm" onclick="window.open('file.htm'); <br> return false;" target="newWin">Cuba pautan sekali lagi, dan lihat sendiri:
ini Adakah pop timbul saya (mod tetap)
Satu titik akhir yang perlu diperhatikan ialah pop timbul harus menjadi sesuatu yang orang pilih untuk digunakan, jadi jangan gunakan acara window.onload atau window.onunload untuk memaksa tetingkap pop timbul anda pada pengguna. Itu selalu mengganggu orang ... kecuali mereka mahu membeli kamera X10 atau melawat 'kasino dalam talian terbesar di dunia' tetapi tidak tahu, itu!
Atas ialah kandungan terperinci Pop timbul yang sempurna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!