忍者ブログ
ADMIN | WRITE| RESPONSE
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

管理するサイトで、Google Analyticsのリアルタイムモニタを眺めていたら、存在するページなのに404エラーになっていることが時折生じているのが目についた。

結論から言うと、「iPhoneのFacebookアプリ」から「日本語URLを使っているサイト」にアクセスすると、この現象は起きるらしい。

参考:日本語URLがiPhoneのFacebookアプリで404になる、そんな時は

解決策は、
・日本語URLをやめる
・URL貼り付けでシェアするときは、「デコード前のURL」で貼り付ける
ということらしい。

さて、アクセス比率としては少ないけれど、この問題に取り組むべきか、どうしたものか…
PR
自分の管理するサイトには、Adsenseリンクユニットを貼っていなかったのだけど、意外と収益力が侮れないということで、リンクユニットを設置することに。

ただ、できればPC版では横長のリンクユニットを、スマホでは長方形のリンクユニットをというように表示を切り替えたい。

WordPress標準関数でモバイルが切り分けられるけれど、これだとiPadもモバイルと判定されてしまう。

単純にディスプレイ幅で切り分けたいのでJavaScriptで判定することに。

レスポンシブ対応のリンクユニットにあったサンプルで切り分けができた。

<script type="text/javascript">
    google_ad_client = "ca-pub-0000000000000000"; // ここに自分のIDを入れる
    width = document.documentElement.clientWidth;
    google_ad_slot = "0000000000"; //ここにモバイル用のSlot IDを入れる
    google_ad_width = 200;
    google_ad_height = 90;
    if (width > 500) {
        google_ad_slot = "0000000000"; //ここにPC用のSlot IDを入れる
        google_ad_width = 468;
        google_ad_height = 15;
    }
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

横長(大)を表示できるように、さらにif文を追加することもできるけど、自分は本文のカラムに収めたかったのでこれで良しとした。
ヤフオクで中古のiPhoneやiPadを購入しようと思ったけれど、どの程度使用したものかがはっきり書いて居ない場合、シリアル番号から製造年月を調べることができる。

※もちろん、製造年月=購入年月ではないので、やはり出品者に確認するのが一番良いとは思うけれど。

※ネットワーク制限の確認方法(赤ロムチェック)ではないことに注意。

軟質覚書---iPad,Mac,iPhone,Web etc.さんの
iPhone, iPad のシリアル番号から製造年月日を特定する

より

Chipmunk: KlantenserviceというサイトでiPhoneやiPadのシリアル番号(IMEIではない)を入力すると製造年月が調べられる。

画面中程のテキストボックスにシリアル番号を入力して、そのすぐ下にあるボタンをクリック。
 

すると、その
iPhoneやiPadの情報が表示される。(自分が試した時はサーバーに負荷がかかっているのか、1分程度待った)
 

モデル番号、製造年月、そして再生品(リファービッシュ)かどうかまで分かってしまう。

ちなみに30日間20回までという制限がある模様だけど、通常の使用なら全然問題ないかと。

WordPressが4.0にアップデートされたということで、早速自分のサイトも更新することに。

すると、それ以降RSSがどうも配信されていない???

試しにフィードを直接表示してみると、何やら英語のメッセージが

This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at
the start of the document Below is a rendering of the page
up to the first error.
ググってみると、原因はともかく、WordPressの中のファイルをいじれば直るとのこと。
wp-includesの中にある
・feed-rss2.php
・feed-rss2-comments.php
を編集。

どちらも先頭行の
<?php
の次の行に、
ob_end_clean();
という1行を追加。

FTPでサーバーにアップして、様子を見る。

F5更新ではエラーが表示されるが、ブラウザのキャッシュをクリアしてから再び見てみると、フィードが正常に表示されるようになった。
HTML5のaudio要素をJavaScriptで操作するコードを書いていて、Windows版ChromeとiOS版Safariではまったのでメモ。

こんな感じのコード
function play(myid) {
  var audio = $('#aud_' + myid)[0];
  if (!audio)
  {
    audio = $('#aud_' + myid)[1];
  }
  if (!audio)
  {
    return false;
  }

  audio.addEventListener("ended", function() {
    $('#img_' + myid).attr('src','/wp/misc/standby.png');
  }, false);
  
  $('#img_' + myid).attr('src','/wp/misc/playing.gif');
  audio.play();

  return false;
}
一度再生させたaudio要素を、再びこの関数を使って再生させようとしても、音が鳴らない。

デバッグしてみると、currentTimeが末尾のままになっている様子。

ということで、再生前にcurrentTime = 0;を入れてみても、もう元には戻らない…

無職のプログラミングさんの記事を参考に、audio.load();を入れてみたところ、無事に再再生ができるように。

function play(myid) {
  var audio = $('#aud_' + myid)[0];
  if (!audio)
  {
    audio = $('#aud_' + myid)[1];
  }
  if (!audio)
  {
    return false;
  }
  
  audio.addEventListener("ended", function() {
    audio.load(); // 既に再生済みの音声がもう一度クリックされる時のための処理	
    $('#img_' + myid).attr('src','/wp/misc/standby.png');
  }, false);
  
  $('#img_' + myid).attr('src','/wp/misc/playing.gif');
  audio.play();

  return false;
}

Powered by 忍者ブログ  Design by まめの
Copyright © [ Traveler's memo ] All Rights Reserved.
http://shaitkennomemo.sugo-roku.com/