メニューを切り替える
個人設定メニューを切り替える
個人メニューを切り替える
ログインしていません
編集を行うと、IPアドレスが公開されます。

MediaWiki:Gadget-TemplateInshokuten.js

MediaWikiインターフェイスページ

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
function initGoogleMaps() {
    document.querySelectorAll(".map-embed").forEach(function (el) {
        const name = el.dataset.name;
        if (!name) return;

        const src = `https://www.google.com/maps/embed/v1/place?key=AIzaSyDOA7e6S9arQa6NvnsFYXxGjX9P_ycwoyM&q=${encodeURIComponent(name)}&zoom=16&maptype=roadmap&language=ja&region=JP`;

        const iframe = document.createElement("iframe");
        iframe.width = "100%";
        iframe.height = "400";
        iframe.style.border = "0";
        iframe.loading = "lazy";
        iframe.allowFullscreen = true;
        iframe.referrerPolicy = "no-referrer-when-downgrade";
        iframe.src = src;

        // iframeが読み込まれたらSkeletonを消す
        iframe.addEventListener("load", function() {
            el.classList.add("loaded");
        });
        el.appendChild(iframe);
    });
}

// 店舗/飲食店テンプレート用JavaScript
if ( document.querySelector('.template-tenpo') ) {
  const twitterdiv = document.querySelector('.twitter-id');
  if(twitterdiv) {
    const username = twitterdiv.textContent.trim();
    if(username) { // 空文字なら生成しない
      const a = document.createElement('a');
      a.href = `https://twitter.com/${username}?ref_src=twsrc%5Etfw`;
      a.className = "twitter-follow-button";
      a.dataset.showCount = "false";
      a.textContent = `Follow @${username}`;
      twitterdiv.parentNode.replaceChild(a, twitterdiv);

      const script = document.createElement('script');
      script.async = true;
      script.src = "https://platform.twitter.com/widgets.js";
      script.charset = "utf-8";
      document.body.appendChild(script);
    }
  }
  const instagramdiv = document.querySelector('.instagram-id');
  if(instagramdiv) {
    const username = instagramdiv.textContent.trim();
    if(username) {
      const a = document.createElement('a');
      a.href = `https://instagram.com/${username}/`;
      a.target = "_blank";
      a.rel = "noopener noreferrer";

      const img = document.createElement('img');
      img.src = "/images/3/3d/Instagram_Glyph_Gradient.png";
      img.alt = "Instagram";
      img.style.width = "50px";
      img.style.height = "50px";
      img.style.marginRight = "15px";

      a.appendChild(img);
      instagramdiv.parentNode.replaceChild(a, instagramdiv);
    }
  }
  const tiktokdiv = document.querySelector('.tiktok-id');
  if(tiktokdiv) {
    const username = tiktokdiv.textContent.trim();
    if(username) {
      const a = document.createElement('a');
      a.href = `https://tiktok.com/@${username}/`;
      a.target = "_blank";
      a.rel = "noopener noreferrer";

      const img = document.createElement('img');
      img.src = "/images/f/fa/TikTok-logo-RGB-Tag.png";
      img.alt = "TikTok";
      img.style.width = "50px";
      img.style.height = "50px";
      img.style.marginRight = "15px";

      a.appendChild(img);
      tiktokdiv.parentNode.replaceChild(a, tiktokdiv);
    }
  }
  const facebookdiv = document.querySelector('.facebook-id');
  if(facebookdiv) {
    const username = facebookdiv.textContent.trim();
    if(username) {
      const a = document.createElement('a');
      a.href = `https://facebook.com/${username}/`;
      a.target = "_blank";
      a.rel = "noopener noreferrer";

      const img = document.createElement('img');
      img.src = "/images/8/82/Facebook_Logo_Primary.png";
      img.alt = "Facebook";
      img.style.width = "50px";
      img.style.height = "50px";

      a.appendChild(img);
      facebookdiv.parentNode.replaceChild(a, facebookdiv);
    }
  }
    document.querySelectorAll(".wikitable p").forEach(function(p) {
        if (!p.textContent.trim()) {
            p.remove();
        }
    });
    document.querySelectorAll(".wikitable tr").forEach(function(tr) {
        const th = tr.querySelector("th");
        const td = tr.querySelector("td");

        if (!th || !td) return;

        if (th.textContent.trim() === "郵便番号") {
            // 郵便番号らしい数字のみ抽出
            const match = td.textContent.replace(/\D/g, "").match(/^(\d{3})(\d{4})$/);
            if (match) {
                td.textContent = match[1] + "-" + match[2];
            }
        }
    });

    // DOM準備後に実行
    if (document.readyState === "loading") {
        document.addEventListener("DOMContentLoaded", initGoogleMaps);
    } else {
        initGoogleMaps();
    }
}

document.querySelectorAll(".streetview-placeholder").forEach(function(el) {
    const url = el.getAttribute("data-url");
    if (!url) return;

    const iframe = document.createElement("iframe");
    iframe.src = url;
    iframe.width = "100%";
    iframe.height = "100%";
    iframe.style.border = "0";
    iframe.loading = "lazy";
    iframe.allowFullscreen = true;
    iframe.referrerPolicy = "no-referrer-when-downgrade";

    el.appendChild(iframe);
});
document.querySelectorAll(".streetview-api-placeholder").forEach(function(el) {
	const name = el.getAttribute("data-name");
	if (!name) return;
	
	const src = `https://www.google.com/maps/embed/v1/streetview?key=AIzaSyDOA7e6S9arQa6NvnsFYXxGjX9P_ycwoyM&location=${name}`;
	
	const iframe = document.createElement("iframe");
	iframe.src = src;
	iframe.width = "100%";
	iframe.height = "100%";
	iframe.style.border = "0";
	iframe.loading = "lazy";
	iframe.allowFullscreen = true;
	iframe.referrerPolicy = "no-referrer-when-downgrade";
	
	el.appendChild(iframe);
});