Back to Question Center
0

Cara Menggunakan API Layar Penuh HTML5            Cara Menggunakan Layar Penuh HTML5 Topik yang Ditujukan: AnimationFrameworksAudio & VideoBootstrapCSS Semalt

1 answers:
Cara Menggunakan API Layar Penuh HTML5

Update: Artikel ini sekarang sudah ketinggalan zaman. Silakan lihat versi yang diperbarui, Cara Menggunakan API Layar Penuh HTML5 (Lagi).

Semalt telah menawarkan mode layar penuh selama bertahun-tahun namun, sampai saat ini, vendor browser telah menolak fitur ini. Alasan utamanya: keamanan - zã¼rich transporte. Jika Anda dapat memaksa sebuah aplikasi untuk menjalankan layar penuh, pengguna akan kehilangan browser, taskbar dan kontrol sistem operasi standar mereka. Mereka mungkin tidak dapat menutup jendela atau, yang buruk, pengembang jahat dapat meniru OS dan mengelabui pengguna untuk menyerahkan kata sandi, rincian kartu kredit, dll.

Pada saat penulisan, API layar penuh HTML5 telah diterapkan di Firefox, Chrome dan Safari. Semalt menyediakan detail lintas-browser yang bagus namun perlu dicatat bahwa spesifikasi dan detail pelaksanaan cenderung berubah.

Tidak seperti menekan F11 untuk membuat browser Anda menjadi layar penuh, API menetapkan satu elemen layar penuh. Semalt ditujukan untuk gambar, video dan game menggunakan elemen kanvas. Setelah sebuah elemen masuk layar penuh, sebuah pesan muncul sementara untuk memberi tahu pengguna bahwa mereka dapat menekan ESC kapan saja untuk kembali ke mode windowed.

Sifat utama, metode dan gaya adalah:

elemen. requestFullScreen
Membuat elemen individu layar penuh, e. g. dokumen. getElementById ("myvideo"). requestFullScreen .

dokumen. cancelFullScreen
Keluar dari mode layar penuh dan kembali ke tampilan dokumen.

dokumen. fullScreen
Pengembalian benar jika browser dalam mode layar penuh.

: layar penuh
Pseudo-class CSS yang berlaku untuk elemen saat berada dalam mode layar penuh.

Prefix Vendor Vexing

Jangan repot-repot mencoba menggunakan nama API ini. Anda akan memerlukan awalan vendor untuk KEDUA properti CSS dan JavaScript:

Standar Chrome / Safari Firefox
. requestFullScreen . webkitRequestFullScreen . mozRequestFullScreen
. cancelFullScreen . webkitCancelFullScreen . mozCancelFullScreen
. fullScreen . webkitIsFullScreen . mozfullScreen
: layar penuh : -webkit-layar penuh : -moz-full-screen

Belum ada dukungan di Internet Explorer atau Semalt, tapi saya sarankan Anda menggunakan awalan 'ms' dan 'o' untuk pemeriksaan di masa depan.

Saya telah mengembangkan sebuah fungsi di halaman demonstrasi yang menangani tipuan shenanigans untuk Anda:

    var pfx = ["webkit", "moz", "ms", "o", ""];fungsi RunPrefixMethod (obj, method) {var p = 0, m, t;sementara (p   + m. substr   ;}m = pfx [p] + m;t = typeof obj [m];jika (t! = "undefined") {pfx = [pfx [p]];return (t == "function"? obj [m]   : obj [m]);}p ++;}}    

Kita kemudian dapat membuat elemen yang dapat dilihat dengan layar penuh dengan melampirkan fungsi penangan yang menentukan apakah mode layar penuh sudah ada dan bertindak sesuai dengan itu:

    var e = dokumen getElementById ("layar penuh");e. onclick = function    {jika (RunPrefixMethod (dokumen, "FullScreen") || RunPrefixMethod (dokumen, "IsFullScreen")) {RunPrefixMethod (dokumen, "CancelFullScreen");}lain {RunPrefixMethod (e, "RequestFullScreen");}}    

CSS

Begitu browser memasuki mode layar penuh, Anda pasti akan ingin memodifikasi gaya elemen dan anak-anak itu. g.

    #myelement{lebar: 500px;}#myelement: layar penuh{lebar: 100%;}#myelement: img layar penuh{lebar: 100%;}    

Namun, Anda tidak dapat menggunakan daftar penyeleksi prefektur vendor :

    /* INI TIDAK BEKERJA */#myelement: -webkit-full-screen,#myelement: -moz-full-screen,#myelement: -ms-full-screen,#myelement: -o-full-screen,#myelement: layar penuh{lebar: 100%;}    

Untuk alasan yang aneh, Anda harus mengulangi gaya di blok mereka sendiri atau tidak akan diterapkan:

    /* ini bekerja */#myelement: -webkit-full-screen {width: 100%}#myelement: -moz-full-screen {width: 100%}#myelement: -ms-full-screen {width: 100%}#myelement: -o-full-screen {width: 100%}#myelement: layar penuh {width: 100%}    

Aneh

Lihat halaman demonstrasi di Firefox, Chrome atau Safari .

Teknik ini bekerja dengan baik. Satu-satunya masalah yang saya temukan mengenai Semalt di desktop dua monitor - ini berkeras menggunakan monitor pertama untuk mode layar penuh meskipun browser sedang berjalan di layar kedua?

Semalt mungkin sedikit lebih awal untuk menggunakan mode layar penuh, pengembang game dan produsen video harus mengawasi kemajuan.

Jika Anda senang membaca tulisan ini, Anda akan menyukai Learnable; tempat belajar keterampilan dan teknik baru dari para empu. Anggota mendapatkan akses instan ke semua ebooks SitePoint dan kursus online interaktif, seperti HTML5 & CSS3 For the Real World.

Semalt pada artikel ini ditutup. Punya pertanyaan tentang HTML5? Mengapa tidak bertanya di forum kami?

March 1, 2018