Simplicityの特徴 › フォーラム › 不具合報告 › httpsサイトでSNSカウンタがぐるぐるする
-
投稿者投稿
-
-
2015年6月9日 2:07 AM #27543
keimaspace
ゲストわいひらさん、simplicityありがたく使わせていただいております。ありがとうございます。
httpsサイトでSNSカウンタがぐるぐるするので報告します。twitter/google+/hatenaブックマーク/pocketで確認、facebook問題なし、ほかは確認していません。
原因はhttpsサイト内でhttpリクエストを投げているからで、一部は修正できました。ただ、次の問題は解決できず、ちょっと無理ではないかなと思っています。- google+で使用している datatables.org がSSL証明書期限切れ(0件なら表示確認)
- api.b.st-hatena.com がSSL証明書不正(b.st-hatena.com のもの)
- twitterが表示される場合とぐるぐるの時があって再現性が低い
どれも外部要因と思われるので、ご報告まで。
1.7bとの差分は以下になります。httpsにしているだけです。$ git diff | cat diff --git a/wp-content/themes/simplicity/javascript.js b/wp-content/themes/simplicity/javascript.js index 04ca41d..5946ba5 100644 --- a/wp-content/themes/simplicity/javascript.js +++ b/wp-content/themes/simplicity/javascript.js @@ -214,7 +214,7 @@ jQuery(function(){ // Twitterのシェア数を取得 function get_social_count_twitter(url, selcter) { jQuery.ajax({ - url:'http://urls.api.twitter.com/1/urls/count.json', + url:'https://urls.api.twitter.com/1/urls/count.json', dataType:'jsonp', data:{ url:url @@ -249,7 +249,7 @@ function get_social_count_facebook(url, selcter) { function get_social_count_googleplus(url, selcter) { jQuery.ajax({ type: "get", dataType: "xml", - url: "http://query.yahooapis.com/v1/public/yql", + url: "https://query.yahooapis.com/v1/public/yql", data: { q: "SELECT content FROM data.headers WHERE url='https://plusone.google.com/_/+1/fastbutton?hl=ja&url=" + url + "' and ua='#Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'", format: "xml", @@ -286,7 +286,7 @@ function get_social_count_hatebu(url, selcter) { function get_social_count_pocket(url, selcter) { jQuery.ajax({ type: "get", dataType: "xml", - url: "http://query.yahooapis.com/v1/public/yql", + url: "https://query.yahooapis.com/v1/public/yql", data: { q: "SELECT content FROM data.headers WHERE url='https://widgets.getpocket.com/v1/button?label=pocket&count=vertical&v=1&url=" + url + "' and ua='#Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'", format: "xml", @@ -307,7 +307,7 @@ function get_social_count_feedly(rss_url, selcter) { //console.log('http://cloud.feedly.com/v3/feeds/feed%2F' + encodeURIComponent(rss_url)); jQuery.ajax({ type: "get", dataType: "json", - url: "http://query.yahooapis.com/v1/public/yql", + url: "https://query.yahooapis.com/v1/public/yql", data: { q: "SELECT content FROM data.headers WHERE url='http://cloud.feedly.com/v3/feeds/feed%2F" + encodeURIComponent(rss_url) + "' and ua='#Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'", format: "json", -
2015年6月9日 2:21 PM #27557
hidekichi
ゲスト扁桃腺炎で1週間近く寝込んでたのでちょっとボケてるかも知れませんけれども、
url:’https://urls.api.twitter.com/の部分は、url:’://urls.api.twitter.com/…で動作しませんかね?
クエリの部分はyahooのAPIに渡す部分なのでhttpsは別にいらないような気もしてたりします。httpで良いような。いやわかりませんけども。各apiは、そのアドレス(クエリ)が渡されて結果的にカウンター値を含む何かしらのデータが返ってきてるわけですからブラウザと通信しているのはyahooapiと思うんです。ということは、クエリにhttpsはいるんだろうか?と言う疑問と、元々ブラウザ側で必要があれば(http||https)にしてくれるわけですから、yahooapiに送る時には//からはじめてはダメなのかなぁとふと思ったりも。
-
2015年6月9日 2:27 PM #27558
わいひらキーマスター報告ありがとうございます。
差分のところのjQueryのURLのところは
以下のようなところをurl:'https://urls.api.twitter.com/1/urls/count.json',
以下のようにすると、動作しますでしょうか?url:'//urls.api.twitter.com/1/urls/count.json',
HTMLのlink呼び出しだったら、以下のように書いても動作するので、jQueryではどうなのかなと思いまして。<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">僕も、https環境があれば、不具合修正したいのですが残念ながら不具合再現環境がなく修正できないでいます。ただ、環境がなくても出来そうなところはなるべく直したいと思います。
-
2015年6月9日 2:31 PM #27559
-
2015年6月9日 3:06 PM #27564
わいひらキーマスターhttpからしか試していませんが、試してみたらJavaScriptからでもプロトコル抜きでも大丈夫のようです。
なので、次のバージョンからは、プロトコル抜きにしておきます。
-
2015年6月9日 3:20 PM #27565
keimaspace
ゲストなるほど、プロトコル指定の省略忘れていました。ご指摘ありがとうございます。
httpsとしたところをプロトコル抜きにしたところ、それぞれ動作しました(http/httpsサイトとも)。はてなブックマークAPIについては問い合わせ窓口にメールしてみましたので、返信ありましたら追記します。
-
2015年6月9日 5:31 PM #27568
わいひらキーマスター試していただいてありがとうございます。
これで、次のバージョンは、プロトコル抜き確定でいきたいと思います
はてなのも、返信内容から直せそうなら修正したいと思います。 -
2015年9月23日 12:20 AM #32784
keimaspace
ゲスト本件、少し進捗しました。
APIエンドポイントを変更してSSL証明書問題を回避できました。
変更前:api.b.st-hatena.com
変更後:b.hatena.ne.jp (※.comではなく.ne.jpです)
はてな側のjs実装でもb.hatena.ne.jpを使っていました。ただ、ドキュメントには「b.hatena.ne.jpは古いからapi.b.st-hatena.comを使え」と書いてあるんですよね……。この点は再度問い合わせてみています。参考サイト:https://blog.hinaloe.net/2015/08/15/hatena-bookmark-api-on-ssl/
ドキュメント:http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getcountdiff --git a/wp-content/themes/simplicity/javascript.js b/wp-content/themes/simplicity/javascript.js index f26a5a0..88e766d 100644 --- a/wp-content/themes/simplicity/javascript.js +++ b/wp-content/themes/simplicity/javascript.js @@ -268,7 +268,7 @@ function get_social_count_googleplus(url, selcter) { //はてなブックマークではてブ勝を取得 function get_social_count_hatebu(url, selcter) { jQuery.ajax({ - url:'//api.b.st-hatena.com/entry.count?callback=?', + url:'//b.hatena.ne.jp/entry.count?callback=?', dataType:'jsonp', data:{ url:url -
2015年9月25日 5:03 PM #32807
わいひらキーマスターありがとうございます。
b.hatena.ne.jpでも取得できるんですね。
お問い合わせの結果を聞いて、b.hatena.ne.jpでも問題ないようなら変更しようと思います。 -
2015年10月27日 10:54 PM #33470
keimaspace
ゲストドキュメントと実装がずれている件を交えつつ再三食い下がってみたのですが、「検討に時間がかかる、決まってもアナウンスの約束はできない」という返事が返ってきました。
要するにめんどくさいと言われました。というわけで、正となるものは不明となりました……。
-
2015年11月13日 7:41 PM #33637
わいひらキーマスターお問い合わせありがとうございます。
b.hatena.ne.jpで今のところ、動作しているようなので、何かあるまではこのままで行こうかと思います。
-
-
投稿者投稿
- このトピックに返信するにはログインが必要です。