勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

iPhoneにホーム画面登録を促すダイアログを表示

   2024/01/13  JavaScript

スマホ用のサイトでお気に入り登録を促すというのは以前に無理という結論が出たけれども、ホーム画面登録を促すダイアログなら「Mobile Bookmark Bubble」というライブラリでいけるみたい。

 

Mobile Bookmark Bubble

https://code.google.com/p/mobile-bookmark-bubble/source/browse/

※zipのところでダウンロード出来る。

 

使い方

bookmark_bubble.jsを読み込む。あと、ホーム画面用の画像を用意して以下で呼び出しておく。

<link rel="apple-touch-icon-precomposed" href="ホーム画面用の画像" />

呼び出したいページで以下を記述する。

window.addEventListener('load', function() {
  window.setTimeout(function() {
    var bubble = new google.bookmarkbubble.Bubble();

    //var parameter = 'bmb=1';
    var parameter = '#';

    bubble.hasHashParameter = function() {
      //return window.location.hash.indexOf(parameter) != -1;
      return location.hash == "" && location.href.indexOf(parameter) == location.href.length-1;
    };

    bubble.setHashParameter = function() {
      if (!this.hasHashParameter()) {
        //window.location.hash = parameter;
        location.href = parameter;
      }
    };

    bubble.getViewportHeight = function() {
      window.console.log('Example of how to override getViewportHeight.');
      return window.innerHeight;
    };

    bubble.getViewportScrollY = function() {
      window.console.log('Example of how to override getViewportScrollY.');
      return window.pageYOffset;
    };

    bubble.registerScrollHandler = function(handler) {
      window.console.log('Example of how to override registerScrollHandler.');
      window.addEventListener('scroll', handler, false);
    };

    bubble.deregisterScrollHandler = function(handler) {
      window.console.log('Example of how to override deregisterScrollHandler.');
      window.removeEventListener('scroll', handler, false);
    };

    bubble.showIfAllowed();
  }, 1000);
}, false);

 

参考サイト 

http://d.hatena.ne.jp/a_kimura/20110507/1304801259

 

その他

残念ながらAndroidは対応してないみたい。あとAndroidは解像度が機種によって多様だったりで難しいのかも。

 - JavaScript

  関連記事

summernoteにクリップボードにコピー機能を追加する方法
summernoteにクリップボードにコピー機能を追加する方法

summernoteのツールバーに新たにボタンを設置し、そのボタンをクリックする ...

円形のプログレスバーをprogressbar.jsで実装する方法
円形のプログレスバーをprogressbar.jsで実装する方法

円形のプログレスバーを実装したかった。CSSだったり画像を用いたりする方法もあっ ...

JavaScriptで全角半角を判別の上で文字数カウントを行う
JavaScriptで全角半角を判別の上で文字数カウントを行う

やりたかった事は「全角5文字・半角10文字以内の入力フォーム」 みたいなもの。 ...

JavaScriptで特定の要素にマウスオーバーした際、ツールチップを表示させる「Tippy.js」ライブラリの利用方法
JavaScriptで特定の要素にマウスオーバーした際、ツールチップを表示させる「Tippy.js」ライブラリの利用方法

JavaScriptで特定の要素にマウスオーバーした際、ちょっとした説明文等を書 ...

Video.jsでテーマを指定して動画プレイヤーのデザインを変更する方法
Video.jsでテーマを指定して動画プレイヤーのデザインを変更する方法

Video.jsで動画プレイヤーのデザインを変更したい。調べたところWordPr ...