cari
Rumahhujung hadapan webTutorial H5Kaedah untuk mengesan sokongan pelayar untuk kemahiran tutorial HTML5 dan CSS3_html5

HTML5, CSS3 dan teknologi lain yang berkaitan seperti Canvas, WebSocket, dsb. telah membawa pembangunan aplikasi web ke tahap yang baharu. Teknologi ini menggabungkan HTML, CSS dan JavaScript untuk membangunkan kesan aplikasi desktop. Walaupun HTML5 menjanjikan banyak perkara, sebenarnya pelayar yang menyokong HTML5 dan standard HTML5 itu sendiri masih belum cukup matang. Adalah tidak realistik untuk tidak bimbang tentang sokongan penyemak imbas sama sekali sekarang, dan ia akan mengambil masa Oleh itu, apabila kami memutuskan untuk menggunakan teknologi HTML5 untuk membangunkan aplikasi web, kami perlu mengesan ciri yang disokong oleh penyemak imbas.

Modernizr boleh membantu anda menyemak ciri HTML5 yang disokong oleh penyemak imbas.

Kod berikut mengesan sama ada penyemak imbas menyokong Kanvas:


Salin kod
Kod adalah sebagai berikut:

window.onload = fungsi () {
jika (canvasSupported()) {
alert('canvas supported');
}
};

function canvasSupported() {
var canvas = document.createElement('canvas');
return (canvas.getContext && canvas.getContext('2d'));
}

Kod berikut mengesan sama ada penyemak imbas menyokong storan setempat:

Salin kod
Kod adalah seperti berikut:


window.onload = fungsi () {
if (localStorageSupported()) {
alert('storan tempatan disokong');
}
};

fungsi localStorageSupported() {
cuba {
return ('localStorage' dalam tetingkap && window['localStorage'] != null);
}
catch(e) { }
return false;
}

Dalam dua contoh di atas, kami boleh menyemak ciri penyemak imbas secara intuitif untuk memastikan bahawa fungsi yang kami gunakan pada penyemak imbas yang sepadan boleh beroperasi secara normal.


Kelebihan menggunakan Modernizr ialah anda tidak perlu menyemak setiap item seperti ini. Mari kita mulakan di bawah:

Apabila saya mula-mula mendengar tentang projek Moderizr, saya fikir ia adalah pustaka JS yang membenarkan beberapa penyemak imbas lama menyokong HTML5, ia sebenarnya bukan fungsi pengesanan.

Modernizr boleh diakses melalui URL http://modernizr.com Laman web ini juga menyediakan fungsi skrip tersuai Anda boleh menentukan ciri yang anda perlukan untuk mengesan dan menjana fail JS yang sepadan, yang boleh mengurangkan kod JS yang tidak diperlukan. .
2015625153003697.png (690×533)

Setelah anda memuat turun fail Modernizr JS, anda boleh memperkenalkannya ke dalam halaman web melalui teg


Salin kod
Kod adalah seperti berikut:

Kesan elemen HTML

Setelah kami memperkenalkan Modernizr pada halaman, kami boleh menggunakannya dengan segera Kami boleh mengisytiharkan kelas CSS yang berbeza dalam elemen tidak disokong. Nama kelas biasanya no-FeatureName, seperti no-flexbox. Berikut ialah contoh yang berfungsi pada chrome:


Salin kod
Kodnya adalah seperti berikut:


Anda juga boleh menggunakan ini untuk menentukan sama ada penyemak imbas mempunyai sokongan JavaScript didayakan:




Salin kod Kodnya adalah seperti berikut :

Anda boleh melihat beberapa contoh pengenalan dalam HTML5 Boilerplate (http://html5boilerplate.com) atau Initializr (http://initializr.com Mengikut langkah di atas, menambah kelas no-js boleh menentukan sama ada penyemak imbas). Sokongan JavaScript didayakan.

Gunakan ciri HTML5 dan CSS3

Atribut CSS yang anda tambahkan pada teg boleh mentakrifkan secara langsung gaya yang diperlukan dalam CSS, contohnya:

Salin kod
Kod adalah seperti berikut:

.boxshadow #MyContainer {
sempadan: tiada;
-webkit-box-shadow: #666 1px 1px 1px;
-moz-box-shadow: #666 1px 1px 1px;
}

.no-boxshadow #MyContainer {
jidar: 2px pepejal hitam;
}

Jika penyemak imbas menyokong box-shadows, kelas CSS boxshadow akan ditambahkan pada elemen Dengan mengandaikan bahawa penyemak imbas tidak menyokong box-shadow, kita boleh menggunakan gaya lain untuk mentakrifkannya.


Selain itu, kami juga boleh menggunakan objek Modernizr untuk mengendalikan gelagat ini Sebagai contoh, kod berikut digunakan untuk mengesan sama ada penyemak imbas menyokong Kanvas dan storan setempat:


Salin kod
Kod tersebut adalah seperti berikut:

$(dokumen).siap (fungsi ( ) {

jika (Modernizr.canvas) {
//Tambah kod kanvas
}

jika (Modernizr.localstorage) {
//Tambah setempat kod storan
}

});

Objek Modernizr global juga boleh digunakan untuk menguji sama ada ciri CSS3 disokong:

Salin kod
kod adalah seperti berikut:

$(document).ready(function () {

if (Modernizr.borderradius) {
$('#MyDiv').addClass ('borderRadiusStyle');
}

if (Modernizr.csstransforms) {
$('#MyDiv').addClass('transformsStyle');
}

});


Gunakan Modernizr untuk memuatkan skrip

Sekiranya penyemak imbas tidak menyokong ciri tertentu, anda bukan sahaja boleh menyediakan penyelesaian sandaran yang baik, tetapi juga memuatkan skrip shim/polyfill untuk mengisi ciri yang tiada di mana sesuai (ingin mengetahui lebih lanjut tentang shims /polyfills, sila lihat https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills). memuatkan skrip lain. Pemuat skrip dibina ke dalam Modernizr dan secara berkesan adalah skrip yepnope (http://yepnopejs.com) Pemuat skrip sangat mudah digunakan dan ia adalah berdasarkan ketersediaan ciri pelayar tertentu benar-benar memudahkan proses memuatkan skrip.

Anda boleh menggunakan kaedah load() Modernizr untuk memuatkan skrip secara dinamik Kaedah ini menerima atribut yang mentakrifkan fungsi di bawah ujian (atribut ujian), seperti skrip yang akan dimuatkan selepas ujian berjaya (atribut ya), dan skrip yang akan dimuatkan selepas ujian gagal (atribut nope), dan skrip yang harus dimuatkan tanpa mengira sama ada ujian berjaya atau gagal (kedua-dua atribut tersebut adalah seperti berikut:

Salin kodKod adalah seperti berikut:
Modernizr.load({
ujian: Modernizr.canvas,
ya: 'html5CanvasAvailable.js',
tidak: 'excanvas.js',
kedua-duanya: 'myCustomScript.js'
});


Dalam contoh ini, Modernizr juga akan menguji sama ada fungsi kanvas disokong semasa memuatkan skrip Jika penyemak imbas sasaran menyokong kanvas HTML5, ia akan memuatkan skrip html5CanvasAvailable.js dan skrip myCustomScript.js (dalam ini. contoh, gunakan atribut yep Agak mengada-ada - ini hanya untuk menunjukkan cara sifat dalam kaedah load() digunakan, jika tidak, skrip polyfill excanvas.js akan dimuatkan untuk menambah sokongan untuk penyemak imbas sebelum IE9 excanvas.js dimuatkan, myCustomScript .js juga akan dimuatkan seterusnya.

Memandangkan Modernizr akan mengendalikan memuatkan skrip, anda boleh menggunakannya untuk melakukan perkara lain Sebagai contoh, anda boleh menggunakan Modernizr untuk memuatkan skrip tempatan apabila CDN pihak ketiga yang disediakan oleh Google atau Microsoft tidak berfungsi menyediakan proses sandaran jQuery tempatan selepas CDN gagal disediakan dalam:
Kod akan cuba memuatkan jQuery daripada Google CND Sebaik sahaja muat turun skrip selesai (atau muat turun gagal), kaedah ini akan dipanggil akan menyemak jQuery Sama ada objek itu sah, jika tidak, muatkan skrip jQuery tempatan Dan kemudian muatkan skrip bernama needs-jQuery.js

Perkara terakhir yang saya ingin katakan ialah jika anda bercadang untuk membangunkan aplikasi web berdasarkan HTML5 dan CSS3, maka Modernizr ialah alat yang sangat diperlukan untuk anda, melainkan, melainkan anda mengesahkan bahawa penyemak imbas yang digunakan oleh semua pelanggan anda menyokong perkara yang anda tulis kod.

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
html5的div一行可以放两个吗html5的div一行可以放两个吗Apr 25, 2022 pm 05:32 PM

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别是什么html5中列表和表格的区别是什么Apr 28, 2022 pm 01:58 PM

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

html5怎么让头和尾固定不动html5怎么让头和尾固定不动Apr 25, 2022 pm 02:30 PM

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有哪些html5中不支持的标签有哪些Mar 17, 2022 pm 05:43 PM

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是什么HTML5中画布标签是什么May 18, 2022 pm 04:55 PM

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了哪个列表标签html5废弃了哪个列表标签Jun 01, 2022 pm 06:32 PM

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

Html5怎么取消td边框Html5怎么取消td边框May 18, 2022 pm 06:57 PM

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

html5为什么只需要写doctypehtml5为什么只需要写doctypeJun 07, 2022 pm 05:15 PM

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna