はてブボタンを押すと「URLが正しくありません」と出るようになったので修正

当ページのリンクには広告が含まれています。

いつからだったのかはわからないのですが、このブログにあるはてブボタンが一定の条件だとうまく機能していませんでした。いくつか調べて、とりあえず修正できたので今は大丈夫なはずです。

INDEX

機能しない状態と条件

f:id:c-miya:20170329150031j:plainf:id:c-miya:20170329150033j:plainf:id:c-miya:20170329150036j:plain

スマホで自分のサイトのはてブボタンを押した所、ブックマーク画面まで進めませんでした。他の端末などでも確認してみましたが、条件は以下のとおりです。

  • 自分でカスタマイズしたはてなブックマークのボタンを使っている
  • 『はてなブックマーク』アプリをインストールしたスマホでアクセス

ただ、この条件でもちゃんとブックマークできるサイトもあったので、つまり自分の設置したコードがどこかおかしいのだと思って調査してみました。

対処方法

今までこのブログでは「記事上」と「記事下」に以下のようなコードではてブボタンを表示させていました。

<a href="http://b.hatena.ne.jp/entry/{URLEncodedPermalink}">→ブックマークする</a>

→ブックマークする
これだと『はてなブックマーク』アプリをインストールしたスマホでは先程のようなエラーになってしまいます。

解決策1

上のリンクはhttp://b.hatena.ne.jp/entry/{URLEncodedPermalink}ではてブするURLを指定しているのですが、このURLにhttp://が入っているとエラーになります。なのでそれを取ってしまえばOKです。

<a href="http://b.hatena.ne.jp/entry/www.foxism.jp">→ブックマークする</a>

→ブックマークする
これなら大丈夫です。とはいえ、はてなブログで{URLEncodedPermalink}を使うと必ずhttp://も含まれます。記事ごとに設定するのも面倒ですし、javascriptを使えばなんとかなると思いますが、あまりやりたくないです。というか普通に使えているブログもあるのでそっちの解決策を探るべきです。

解決策2

<a href="http://b.hatena.ne.jp/entry/{URLEncodedPermalink}" class="hatena-bookmark-button" data-hatena-bookmark-layout="simple">→ブックマークする</a>

→ブックマークする
これなら大丈夫です。aタグにclass=“hatena-bookmark-button”data-hatena-bookmark-layout=“simple”を入れました。これでOKです。

単に機能させるだけならclass=“hatena-bookmark-button”だけでOKですが、それだけだとこうなります。
→ブックマークする

まとめ

わかってみれば、かなり簡単な対処方法でなんとかなりました。このブログは修正しましたが、他にも使っているところがあるので、それらも確認していきたいと思います。

はてなブログのカスタマイズでシェアボタンをオリジナルで設定している人も多いと思います。ちゃんとclass=“hatena-bookmark-button”data-hatena-bookmark-layout=“simple”が入っているものならいいのですが、そうでないものを使っていないか、一度チェックしてみたほうがいいと思いますよ。

なお、PCでボタンをクリックしたときに下の画像のような表示になっていれば、スマホでも大丈夫です。
f:id:c-miya:20170329152052j:plain

シェアしてね!

この記事を書いた人

静岡県静岡市清水区在住のウェブサイト運営者。ネット上ではc-miya、orefolderなどの名前で活動しています。

ストレスに弱いので、できるだけ好きなことだけをして生きたいと思いながら生活しています。「楽しい」が優先順位の一番上に来るようにしたいですね。

INDEX