检测浏览器支持哪些HTML5新特性的方法
HTML5不能说是一个全新的事物,但是大部分人对HTML5的了解还是比较少的。(如果你想了解HTML5的话,不妨查看IE9发布的HTML5视频。)虽然目前新版的主流浏览器,诸如IE9、Firefox4、Chrome10都已经开始支持HTML5特性了,但是目前所有浏览器对HTML5的支持事不完整的,主要是因为HTML5还处在制定过程中。如果你想检测你的浏览器究竟支持 HTML 5 的哪些特性,可以查看下面我们介绍的一种方法。
当浏览器渲染 web 页面的时候,它会构造一个文档对象模型(Document Object Model,DOM)。这是一组用于表现页面上 HTML 元素的对象。每一个元素,例如每一个
,每一个
,每一个 都有不同的 DOM 对象表示。当然,也有一种全局的对象,例如 window 和 document,不过它们不是用来表示特定元素的。
所有的 DOM 对象都有一些通用属性,也有其自己特有的属性。支持 HTML 5 特性的浏览器就会包含这种独一无二的属性。因此,我们利用这种技术,就可以检测浏览器究竟支持哪些新特性。在本节的后面的部分中,我们将从易到难地详细介绍这种技术。
Modernizr —— HTML 5 检测库
Modernizr是一个开源的,基于 MIT 协议的 JavaScript HTML 5特性检测库。它能够检测很多 HTML 5 和 CSS 3 的特性。你可以在其主页或者这里的地址(modernizr-1.7.min.js,注意修改后缀名)中找到最新版本(当前最新版本是 1.7)。同别的 JS 库一样,你应该在 head 块中将其引入:
<!DOCTYPE html> <html> <head> <meta charset=”utf-8″> <title>Dive Into HTML5</title> <script src=”modernizr.min.js”></script> </head> <body> … </body> </html>
Modernizr 会自动运行,不需要调用类似 modernizr_init() 的函数。一旦开始运行,它就会创建一个名叫 Modernizr 的全局变量。这个全局变量包含它能够检测到的新特性的布尔值。例如,如果你的浏览器支持 canvas API,那么 Modernizr.canvas 就会是 true;如果不支持则是 false。
if (Modernizr.canvas) { // let’s draw some shapes! } else { // no native canvas support available }
canvas
HTML 5 定义了 元素。这是一个“设备独立的位图画布,可以用于渲染图表、游戏图像或者其他可视图像”。在页面上 canvas 是一块矩形区域,你可以使用 javascript 语句在上面进行绘制。HTML 5 定义了一系列绘制函数(canvas API),用于绘制形状、定义路径、创建渐变或者应用变形等。
我们可以使用上面的 js 库检测 canvas API。如果你的浏览器支持 canvas API,DOM 对象就可以创建一个含有 getContext() 函数的 元素;如果不支持则仅仅会创建一个最原始的 元素,其中不包含任何 canvas 所特有的属性(记得这是 HTML 5 向后兼容的一种体现)。于是,我们利用这个特性,就可以按照如下的方法检测 canvas 特性
function supports_canvas() { return !!document.createElement(’canvas’).getContext; }
这个函数将创建一个临时的 元素,但并不会将其显示到你的页面上,所以没有人会看到它。这个元素仅仅存在于内存中,哪里也不会去,什么也做不了,就像是静止的河流上面漂着的独木舟。
createElement(‘canvas’) 语句就是用来创建这个对象的。然后,我们测试能不能调用 getContext() 函数。这个函数仅在支持 canvas API 的浏览器中才能使用。最后,我们用两个取非运算符 !! 将 getContext() 函数的返回值转换成 Boolean 值。
这个函数可以用来检测是否支持大多数 canvas API,包括形状、路径、渐变和填充等。它不会检测到任何在IE9 之前版本的 IE 上的模拟库(由于 IE9 才能够支持 canvas API,在早于 IE9 的版本上有很多第三方库来在 IE 上模拟 canvas)。
如果你不愿意自己写函数,当然也可以使用 Modernizr 来检测 canvas API。
if (Modernizr.canvas) { // let’s draw some shapes! } else { // no native canvas support available }
注意,这种检测仅仅用来检测形状、路径、渐变和填充等,如果要检测是否支持文本渲染,我们需要另外的方法。
canvas text
即使浏览器支持 canvas API,它也不一定支持 canvas text API。canvas text API 直到很晚的时候才被加入 HTML5,因此有些浏览器实际是在 canvas text API 完成之前就已经支持 canvas API。
当然,我们可以使用前面说的技术检测 canvas text API。前面说过,如果浏览器支持 canvas API,那么就可以创建一个表示 元素的DOM 对象,并且能够调用 getContext() 函数;如果不支持,则会创建一个没有任何特殊属性的普通 DOM 对象。下面我们在此基础之上来检测 canvas text API。
function supports_canvas_text() { if (!supports_canvas()) { return false; } var dummy_canvas = document.createElement(’canvas’); var context = dummy_canvas.getContext(’2d’); return typeof context.fillText == ‘function’; }
这个函数首先调用我们前面说过的 supports_canvas() 函数,来检测是否支持 canvas API。如果浏览器连 canvas API 都不支持,更不用谈 canvas text API 了!然后,我们创建一个临时的 元素,获取其 context。这段代码一定是可以工作的,因为我们已经使用 supports_canvas() 判断过了。最后,我们检查是否存在 fillText() 函数。如果存在,则支持 canvas text API。
如果不想自己写代码,那么就使用 Modernizr 吧!
if (Modernizr.canvastext) { // let’s draw some text! } else { // no native canvas text support available }
以上就是检测浏览器支持哪些HTML5新特性的方法的内容,更多相关内容请关注PHP中文网(www.php.cn)!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Coinbase Security Login Guide:フィッシングサイトや詐欺を避ける方法は? フィッシングと詐欺はますますramp延しており、Coinbaseの公式ログインポータルに安全にアクセスすることが重要です。この記事では、ユーザーがコインベースの最新の公式ログインポータルを安全に見つけて使用して、デジタル資産のセキュリティを保護するための実用的なガイドを提供します。フィッシングサイトを特定する方法と、公式Webサイト、モバイルアプリ、または信頼できるサードパーティプラットフォームを介して安全にログインする方法を取り上げ、強力なパスワードの使用や2要素の検証を可能にするなど、アカウントセキュリティを強化するための提案を提供します。 誤ったログインによる資産の損失を避けるために、この記事を注意深くお読みください!

世界をリードするデジタル資産取引プラットフォームとして、OUYI OKXは、豊富な取引製品、強力なセキュリティ保証、便利なユーザーエクスペリエンスで多くの投資家を引き付けます。ただし、ネットワークセキュリティのリスクはますます深刻になっており、公式のOUYI OKXアカウントを安全に登録する方法が重要です。この記事では、OUYI OKX公式ウェブサイトの最新の登録ポータルを提供し、公式ウェブサイトの識別、強力なパスワードの設定、2因子検証など、デジタル資産投資の旅を安全かつ便利に開始する方法など、安全な登録の手順と注意事項を詳細に説明します。デジタル資産投資にはリスクがあることに注意してください。慎重な決定を下してください。

この記事では、中国のOUYI OKXアプリの安全なダウンロードに関する詳細なガイドを提供します。国内のアプリストアの制限により、ユーザーはOUYI OKXの公式Webサイトからアプリをダウンロードするか、公式Webサイトが提供するQRコードを使用してスキャンおよびダウンロードすることをお勧めします。ダウンロードプロセス中に、公式Webサイトのアドレスを確認し、アプリケーションの許可を確認し、インストール後にセキュリティスキャンを実行し、2要素の検証を有効にしてください。 使用中は、地方の法律や規制を遵守し、安全なネットワーク環境を使用し、アカウントのセキュリティを保護し、詐欺に対して警戒し、合理的に投資してください。 この記事は参照のみであり、投資のアドバイスを構成していません。

この記事では、安全で信頼性の高いBinance Exchange Appダウンロードガイドを提供して、ユーザーが国内のBinanceアプリをダウンロードする問題を解決できるようにします。国内のアプリケーションストアの制限により、この記事では、Binanceの公式WebサイトからAPKインストールパッケージをダウンロードすることを優先し、3つの方法を紹介します。さらに、この記事は、ユーザーに、地域の法律や規制を理解し、ネットワークセキュリティに注意を払い、個人情報を保護し、詐欺、合理的な投資、安全な取引に注意してください。 記事の最後に、記事は再び、Binanceアプリのダウンロードと使用を使用して、地元の法律や規制を遵守しなければならず、お客様の責任で、投資アドバイスを構成しないことを強調しました。

この記事では、ユーザーがBitMex Exchangeの最新の公式Webサイトにアクセスし、トランザクションセキュリティを改善できるように、安全で信頼できるガイドを提供します。規制およびサイバーセキュリティの脅威により、公式のBitmexのWebサイトを特定し、アカウント情報と資金を盗むフィッシングWebサイトを避けることが重要です。この記事では、信頼できる暗号通貨プラットフォーム、公式のソーシャルメディア、ニュースメディア、および公式の電子メールの重要性を強調し、HTTPS接続を使用し、セキュリティ証明書をチェックし、2因子の検証とパスワードを定期的に変更することを強調しています。 暗号通貨取引はリスクが高いことを忘れないでください。慎重に投資してください。

Coinbase Exchange Webバージョンは利便性に人気がありますが、安全なアクセスが重要です。この記事の目的は、ユーザーに公式のCoinbase Webバージョンに安全にログインし、フィッシングWebサイトやハッカーを避けることを目的としています。 検索エンジン、信頼できるサードパーティプラットフォーム、公式ソーシャルメディアを介して公式ポータルを検証する方法を詳細に説明し、アドレスバーセキュリティロックのチェック、2因子検証の可能性、パスパスの回避、定期的にパスワードの変更、デジタル資産のセキュリティを確保するための電子メールのフィッシングに警告するなどのセキュリティ対策を強調します。 公式のCoinbase Webサイトへの正しいアクセスは、デジタル通貨を保護するための最初のステップです。

ベテランの暗号通貨デリバティブ取引プラットフォームとして、公式のウェブサイトの入り口の正確性が非常に重要です。 ramp延するフィッシングのウェブサイトにより、偽のウェブサイトへの誤った参入は、盗難や資金の喪失につながる可能性があります。この記事の目的は、ユーザーがBitmexの公式ウェブサイトに安全にアクセスするように導き、信頼できる暗号通貨情報プラットフォーム(Coinmarketcap、Coingeckoなど)、公式ソーシャルメディア、既存の住所の検証、公式サポートチャネルなどのさまざまな方法を提供することを目的としています。

この記事では、国内のアプリストアの制限により、中国のBinanceアプリを安全にダウンロードするガイドを提供します。 Binanceの公式Webサイトを介してAPKインストールパッケージをダウンロードするか、QRコードをスキャンして、アプリを慎重にチェックし、アプリケーションアクセス許可を確認し、インストール後に安全なスキャンを実行し、2因子検証(2FA)を有効にすることをお勧めします。 それをダウンロードして使用する前に、現地の法律や規制を理解し、遵守してください。この記事は参照のみであり、すべてのリスクはユーザーが負担しません。 キーワード:ビナンス、ビナンス、ダウンロード、アプリ、国内、セキュリティ、チュートリアル、デジタル通貨、暗号通貨
