検索
ホームページウェブフロントエンドhtmlチュートリアルHTML5 デスクトップ通知 通知 API の使用法

HTML5 デスクトップ通知 通知 API の使用法

Oct 23, 2017 am 09:47 AM
apihtml5notification

はじめに

Notification API は、HTML5 の新しいデスクトップ通知 API であり、ユーザーに通知情報を表示するために使用されます。この通知はブラウザーから分離されており、ユーザーが現在のタブ ページに留まらない場合でも、ブラウザーを最小化した場合でも、通知情報は引き続き上部に表示されます。

ユーザー権限

ユーザーに通知メッセージを表示したい場合は、ユーザー権限を取得する必要があります。同じドメイン名で権限を取得する必要があるのは 1 回だけです。通知は、特定の Web サイトからの広告が通知を悪用したり、その他の方法でユーザーに影響を与えたりすることを防ぐために、ユーザーが許可した権限でのみ機能します。では、ユーザーが許可されているかどうかをどのようにして知ることができるのでしょうか?

Notification.permission この属性は、現在の通知表示の承認ステータスを示すために使用されます。 可能な値は次のとおりです。

  • default: ユーザーの選択は不明、デフォルト。

  • 許可: ユーザーが許可されました。

  • denied: ユーザーによって拒否されました。


if(Notification.permission === 'granted'){
    console.log('用户允许通知');}else if(Notification.permission === 'denied'){
    console.log('用户拒绝通知');}else{
    console.log('用户还没选择,去向用户申请权限吧');}

リクエスト許可

ユーザーがまだ選択していない場合、ユーザーに許可をリクエストする必要があります。通知オブジェクトは、現在のソースに通知を表示するためのユーザーの許可を要求する requestPermission() メソッドを提供します。

以前のコールバックベースの構文は非推奨になりました (もちろん、現在のブラウザーでは引き続き使用できます)。最新の仕様では、このメソッドが Promise ベースの構文に更新されました:


Notification.requestPermission().then(function(permission) {
    if(permission === 'granted'){
        console.log('用户允许通知');
    }else if(permission === 'denied'){
        console.log('用户拒绝通知');
    }});

プッシュ通知

ユーザーを取得する認証後、プッシュ通知を送信できるようになります。


var notification = new Notification(title, options)

パラメータは次のとおりです:

  • title: 通知のタイトル

  • options: 通知の設定オプション (オプション)。

    • body: 通知の内容。

    • タグ: 通知を表す識別タグ。同じタグで同じ通知ウィンドウのみが開きます。

    • icon: 通知に表示されるアイコンの URL。

    • HTML5 デスクトップ通知 通知 API の使用法: 通知に表示される画像の URL。

    • data: 通知に関連付けるタスクタイプのデータ。

    • requireInteraction: 通知は有効なままであり、自動的に閉じられません。デフォルトは false です。

他にもいくつかのパラメータがありますが、使用できないか役に立たないため、ここで言及する必要はありません。


var n = new Notification('状态更新提醒',{
    body: '你的朋友圈有3条新状态,快去查看吧',
    tag: 'linxin',
    icon: 'http://blog.gdfengshuo.com/HTML5 デスクトップ通知 通知 API の使用法s/avatar.jpg',
    requireInteraction: true})

通知メッセージのレンダリングは次のとおりです:

HTML5 デスクトップ通知 通知 API の使用法

通知を閉じる

上記のパラメータからわかるように、表示時間を設定するパラメータはありません。 3 秒後に自動的に閉じるようにしたい場合は、close() メソッドを呼び出して通知を閉じます。


var n = new Notification('状态更新提醒',{
    body: '你的朋友圈有3条新状态,快去查看吧'})setTimeout(function() {
    n.close();}, 3000);

Event

Notification インターフェースの onclick 属性は、クリック イベントを受信するイベント リスナーを指定します。通知ウィンドウをクリックすると、URL を開いてユーザーを自分の Web サイトに戻すなど、対応するイベントがトリガーされます。


var n = new Notification('状态更新提醒',{
    body: '你的朋友圈有3条新状态,快去查看吧',
    data: {
        url: 'http://blog.gdfengshuo.com'
    }})n.onclick = function(){
    window.open(n.data.url, '_blank');      // 打开网址
    n.close();                              // 并且关闭通知}

アプリケーションシナリオ

上記のように、実際に使用するためのものです。では、どこで使用できるのでしょうか?

ウェブサイト上のメッセージ リマインダーのほとんどは、メッセージ センターにメッセージ数を表示し、このプロセスに問題がないことをユーザーに通知する電子メールを送信します。しかし、私のようなユーザーにとっては、誰かが何かを気に入ったり、保存したりすると、リマインドするメールが届き、そのメールを常に削除しなければなりません(強迫性障害)ので、非常に煩わしく感じ、メールをオフにすることもあります。電子メールのリマインダー。

もちろん、これは通知を使用する必要があるという意味ではありません。結局のところ、通知はメールとはまったく異なる機能を持っています。

ニュースサイトの方が適していると思います。ユーザーがニュースを閲覧すると、リアルタイムのニュースをユーザーにプッシュできます。 Tencent Sports を例に挙げると、Notification API が使用されています。 notification2017_v0118.js がページ内で紹介されていますので、興味があれば他の人がどのように成熟しているかを確認することができます。

ページに入るとすぐに承認が得られます。同時に、承認を許可するように求めるフローティングボックスがページに表示されます。許可されている場合、プッシュ通知の送信が開始されます。ただし、タブを閉じると、アンロード イベントの前にページをリッスンするため、通知もオフになります。


function addOnBeforeUnload(e) {
    FERD_NavNotice.notification.close();}if(window.attachEvent){
    window.attachEvent('onbeforeunload', addOnBeforeUnload);} else {
    window.addEventListener('beforeunload', addOnBeforeUnload, false);}

互換性

互換性といえば、当然多くの互換性があり、各ブラウザのパフォーマンスは若干異なります。ほぼすべてのモバイル版がサポートされていますが、幸いなことに、IE を除くほとんどの PC 版がサポートされています。したがって、使用する前に、ブラウザが通知をサポートしているかどうかを確認する必要があります。

以上がHTML5 デスクトップ通知 通知 API の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?Lang属性をタグにどのように設定しますか?なぜこれが重要なのですか?May 08, 2025 am 12:03 AM

タグのLang属性を設定することは、WebアクセシビリティとSEOを最適化する重要なステップです。 1)ラング属性をタグに設定します。 2)多言語コンテンツでは、ようなさまざまな言語パーツのLang属性を設定します。 3)「EN」、「FR」、「ZH」などのISO639-1標準に準拠する言語コードを使用します。Lang属性を正しく設定すると、Webページと検索エンジンランキングのアクセシビリティが向上します。

HTML属性の目的は何ですか?HTML属性の目的は何ですか?May 07, 2025 am 12:01 AM

htmlattributeSareSientionalentionalentionalentionalentiallyance'functionalityandappearance.theyaddinformationtodefinebehavior、light、and interaction、makewebsitesteractive、responsive、andviseallyappaleal.attributeslikesrc、href、class、型、およびdoadabledransform

HTMLでリストを作成するにはどうすればよいですか?HTMLでリストを作成するにはどうすればよいですか?May 06, 2025 am 12:01 AM

toreatealistinhtml、useforunorderedlistsandfororderedlists:1)forunorderedlists、wrapitemsinanduseforeachitem、renderingasabulletedlist.2)

HTMLアクション:Webサイト構造の例HTMLアクション:Webサイト構造の例May 05, 2025 am 12:03 AM

HTMLは、明確な構造のWebサイトを構築するために使用されます。 1)Webサイト構造などのタグを使用し、定義します。 2)例は、ブログとeコマースのウェブサイトの構造を示しています。 3)誤ったラベルネスティングなどの一般的な間違いを避けてください。 4)HTTP要求を削減し、セマンティックタグを使用してパフォーマンスを最適化します。

HTMLページに画像を挿入するにはどうすればよいですか?HTMLページに画像を挿入するにはどうすればよいですか?May 04, 2025 am 12:02 AM

to inertanimageintoanhtmlpage、usethetagwithsrcandaltattributes.1)usealttextforaccessibilityandseo.2)emplencesrcsetForresponsiveimages.3)applylazyloadingwithloading = "lazy" tooptimizeperformance.4)

HTMLの目的:Webブラウザがコンテンツを表示できるようにするHTMLの目的:Webブラウザがコンテンツを表示できるようにするMay 03, 2025 am 12:03 AM

HTMLの中心的な目的は、ブラウザがWebコンテンツを理解して表示できるようにすることです。 1。HTMLは、タグなどのタグを介してWebページの構造とコンテンツを定義します。 3.HTMLは、ユーザーの相互作用をサポートするフォーム要素を提供します。 4. HTMLコードの最適化は、HTTP要求の削減やHTMLの圧縮など、Webページのパフォーマンスを改善できます。

Web開発にとってHTMLタグが重要なのはなぜですか?Web開発にとってHTMLタグが重要なのはなぜですか?May 02, 2025 am 12:03 AM

htmltagsareSterenceforwebdevelovementasyStheStructureanhandhancewebpages.1)theydefineLayout、semantics、and-interactivity.2)semanticagsimprovecessibility.3)opeusofusofagscanoptimizeperformanceandensurecross-brows-compativeation。

HTMLタグと属性に一貫したコーディングスタイルを使用することの重要性を説明します。HTMLタグと属性に一貫したコーディングスタイルを使用することの重要性を説明します。May 01, 2025 am 12:01 AM

コードの読みやすさ、保守性、効率を向上させるため、一貫したHTMLエンコーディングスタイルは重要です。 1)低ケースタグと属性を使用します。2)一貫したインデントを保持し、3)シングルまたはダブルの引用符を選択して固執する、4)プロジェクトのさまざまなスタイルの混合を避け、5)きれいなスタイルやEslintなどの自動化ツールを使用して、スタイルの一貫性を確保します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

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