1. HOME
  2. JavaScript
  3. SNSのシェアボタンをJavaScriptで実装する方法と応用テクニック
JavaScript - 2025-07-20

SNSのシェアボタンをJavaScriptで実装する方法と応用テクニック

近年、多くのウェブサイトでSNSシェアボタンが導入され、コンテンツの拡散に貢献しています。この記事では、JavaScriptでSNSのシェアボタンを実装する基本方法から、応用テクニックやUX向上の工夫までを解説します。

1. SNSシェアボタンの仕組みとは?

SNSシェアボタンは、ユーザーが閲覧しているページをSNSに投稿・共有できる仕組みです。主に以下のSNSで利用されます。

  • X(旧Twitter)
  • Facebook
  • LINE
  • LinkedIn
  • はてなブックマーク

多くのSNSはURLにクエリパラメータを渡すことでシェア投稿を行うため、JavaScriptで簡単に実装可能です。

2. JavaScriptでSNSシェアボタンを実装する方法

2-1. HTML構造

<div class="sns-share">
  <button onclick="shareToX()">Xでシェア</button>
  <button onclick="shareToFacebook()">Facebookでシェア</button>
  <button onclick="shareToLine()">LINEで送る</button>
</div>

2-2. JavaScript関数

function getShareUrl() {
  return encodeURIComponent(window.location.href);
}

function getPageTitle() {
  return encodeURIComponent(document.title);
}

function shareToX() {
  const url = `https://twitter.com/intent/tweet?url=${getShareUrl()}&text=${getPageTitle()}`;
  window.open(url, '_blank', 'width=600,height=400');
}

function shareToFacebook() {
  const url = `https://www.facebook.com/sharer/sharer.php?u=${getShareUrl()}`;
  window.open(url, '_blank', 'width=600,height=400');
}

function shareToLine() {
  const url = `https://social-plugins.line.me/lineit/share?url=${getShareUrl()}`;
  window.open(url, '_blank', 'width=600,height=400');
}

3. 応用テクニック

3-1. 各SNS用にカスタムメッセージを追加する

const xText = encodeURIComponent("この記事おすすめ!");
const xUrl = `https://twitter.com/intent/tweet?url=${getShareUrl()}&text=${xText}`;

3-2. アイコン付きシェアボタンのデザイン(Font Awesome利用)

<!-- CDNをheadに追加 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" />

<button onclick="shareToX()">
  <i class="fab fa-x-twitter"></i> シェア
</button>

3-3. シェア数の表示(外部APIを使用)

Facebookやはてなブックマークでは、API経由でシェア数を取得できます(※現在は制限が多く、使用には注意が必要です)。

4. モバイル対応とUX向上の工夫

  • モバイルでは navigator.share()(Web Share API)を使えばネイティブ共有も可能です。
if (navigator.share) {
  navigator.share({
    title: document.title,
    url: window.location.href
  }).then(() => {
    console.log('共有されました');
  }).catch(console.error);
}
  • ホバー時にツールチップ表示
  • SNSアイコンを色別で統一感を出す
  • シェア完了後にメッセージ表示

5. まとめ

SNSシェアボタンは、JavaScriptを使えば自前で軽量に実装できます。基本的なURLの組み立てに加え、UX向上やデザインの工夫を取り入れることで、より多くのユーザーに拡散してもらえる導線を作れます

チェックリスト

  • SNSごとのURL構造を理解する
  • JavaScriptで現在のページURLやタイトルを取得する
  • Web Share APIやデザイン調整も検討する

おまけ:簡単に使える共通関数(再利用向け)

function openShareWindow(baseUrl, params) {
  const query = new URLSearchParams(params).toString();
  const url = `${baseUrl}?${query}`;
  window.open(url, '_blank', 'width=600,height=400');
}