httpsサイトでSNSカウンタがぐるぐるする

Simplicityの特徴 フォーラム 不具合報告 httpsサイトでSNSカウンタがぐるぐるする

10件の返信スレッドを表示中
  • 投稿者
    投稿
    • #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",
      
    • #27557 返信
      hidekichi
      ゲスト

      扁桃腺炎で1週間近く寝込んでたのでちょっとボケてるかも知れませんけれども、

      url:’https://urls.api.twitter.com/の部分は、url:&#8217://urls.api.twitter.com/…で動作しませんかね?
      クエリの部分はyahooのAPIに渡す部分なのでhttpsは別にいらないような気もしてたりします。httpで良いような。いやわかりませんけども。

      各apiは、そのアドレス(クエリ)が渡されて結果的にカウンター値を含む何かしらのデータが返ってきてるわけですからブラウザと通信しているのはyahooapiと思うんです。ということは、クエリにhttpsはいるんだろうか?と言う疑問と、元々ブラウザ側で必要があれば(http||https)にしてくれるわけですから、yahooapiに送る時には//からはじめてはダメなのかなぁとふと思ったりも。

    • #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環境があれば、不具合修正したいのですが残念ながら不具合再現環境がなく修正できないでいます。ただ、環境がなくても出来そうなところはなるべく直したいと思います。

    • #27559 返信
      わいひらわいひら
      キーマスター

      #27557
      投稿が重なった。
      HTMLが、そうなので、僕もそう思いました。
      JavaScriptでも大丈夫なもんなんでしょうか?
      というか、試してみれば良いだけなんで、http環境からは試してみます。

    • #27564 返信
      わいひらわいひら
      キーマスター

      httpからしか試していませんが、試してみたらJavaScriptからでもプロトコル抜きでも大丈夫のようです。

      なので、次のバージョンからは、プロトコル抜きにしておきます。

    • #27565 返信
      keimaspace
      ゲスト

      なるほど、プロトコル指定の省略忘れていました。ご指摘ありがとうございます。
      httpsとしたところをプロトコル抜きにしたところ、それぞれ動作しました(http/httpsサイトとも)。

      はてなブックマークAPIについては問い合わせ窓口にメールしてみましたので、返信ありましたら追記します。

    • #27568 返信
      わいひらわいひら
      キーマスター

      試していただいてありがとうございます。
      これで、次のバージョンは、プロトコル抜き確定でいきたいと思います
      はてなのも、返信内容から直せそうなら修正したいと思います。

    • #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/getcount

      
      diff --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
      
    • #32807 返信
      わいひらわいひら
      キーマスター

      ありがとうございます。
      b.hatena.ne.jpでも取得できるんですね。
      お問い合わせの結果を聞いて、b.hatena.ne.jpでも問題ないようなら変更しようと思います。

    • #33470 返信
      keimaspace
      ゲスト

      ドキュメントと実装がずれている件を交えつつ再三食い下がってみたのですが、「検討に時間がかかる、決まってもアナウンスの約束はできない」という返事が返ってきました。
      要するにめんどくさいと言われました。

      というわけで、正となるものは不明となりました……。

    • #33637 返信
      わいひらわいひら
      キーマスター

      お問い合わせありがとうございます。
      b.hatena.ne.jpで今のところ、動作しているようなので、何かあるまではこのままで行こうかと思います。

10件の返信スレッドを表示中
返信先: httpsサイトでSNSカウンタがぐるぐるする
あなたの情報:




スポンサーリンク
アドセンス(大)
アドセンス(大)