1. ホーム
  2. Web制作
  3. html5

html5 モバイル 長押し禁止 画像保存 実装

2022-01-21 04:36:31

モバイルでH5ページにアクセスした際、画像の長押しで画像が保存されます。ユーザーエクスペリエンスを向上させるためには、長押ししても画像が保存されないようにする必要があります。どうすれば実現できるでしょうか。ここでは、3つの解決策を紹介します。

解決策1: ポインターイベント:なしを使用する

img{
   pointer-events:none;
}


画像が開かれるWeChatクライアントのモバイルページで動作することが実証されています。 

オプション2:グローバル属性

*{
   -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


-webkit-touch-callout は、主に長押しメニューを無効にするために使用します。もちろん、webkit カーネルブラウザの場合です。

user-select プロパティは css3 の新機能で、ユーザーがテキストを選択できるかどうかを設定するために使用されます。

オプション3:マスクレイヤーを追加する 

画像の上にdivレイヤーを追加することで、マスクレイヤーと同様に、画像がクリックされなくなり、右クリックやロングクリックしても画像のように保存のオプションが表示されなくなるようにします。  コード例は以下の通りです。

<div class="imgbox">
    <div class="imshar"></div>
    <img src=""/>
</div>
<style>
 .imgbox{
    position: relative;
    width: 80%;
    margin: 0 auto;
    margin-top: 20px;
}
 .imgbox .imshar{
    position: absolute;
    z-index: 100;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    opacity: 0;
}
.imgbox img{
    display: block;
    width: 100%;
}
</style>

今回はhtml5携帯長押し画像保存禁止の実装について紹介します、もっと関連するhtml5長押し画像保存禁止の内容はスクリプトハウスの過去記事を検索してください、または引き続き以下の関連記事を閲覧してください、今後ともスクリプトハウスをより支持してください!。