Edge で定期的にリロードしようとしたら勝手にサブミットしそうになった!

15分置きにページをリロードするWEBページがございました。

IEではちゃんと動いていましたが、Edgeだと、直前にサブミットしたフォームをもう1度送信しようとして、送っていいかどうかを確認するダイアログが出てしまい、リロードできません。

<meta http-equiv=”refresh” content=”900;URL=./index.php”>

こんなのが、HTMLの上の方に書いてあります。

ページのURLは、
http://xxxx/index.php
という感じなのですが、どうも、上のmetaタグで指定したURLと、そのページのURLが一緒だと、Edgeとしては、単純にジャンプするのではなく、フォームを再送信することにしているようです。

というわけで、

<meta http-equiv=”refresh” content=”900;URL=./”>

としたら、Edgeは、これが同じページであることに気づかないらしく、普通にジャンプして、リロードできるようになりました。

onSubmit でajaxを使ってうまくいかない人は「async:false」せよ!

async:false  は、「非同期通信しない」という意味なので、同期通信というのか、あるいは非々同期通信というのか知りませんが、とにかく$.ajax を書くときに、これを指定しておくと、非同期になりません。

form でsubmitのボタンが押された際、ちょいとデータベースを読み込み、その内容を、confirm のダイアログでユーザに確認してもらい、「OK」の時だけ本当にsubmitしましょう、という処理を作る際、普通に、

  1. onsubmit に、実行不要な時はreturn false となるよう、関数を作る
  2. その関数の中でajax を用い、phpのプログラムでDBをチェックし、その結果でconfirm のダイアログを表示する
  3. confirm がOKの時、true で戻り、キャンセルだったらfalse で戻る

という処理を書きました。
そしたら、なぜか全然まともに動きません。
いろいろ調べたところ、どうやらajax が動いている間に関数は関数で別途進んでしまい、関数が先に終わって、onsubmit にtrue を返すので、あとからconfirm でOKを選ぼうが、キャンセルを選ぼうが、submit が実行されてしまっていることが分かりました。
そう、これこそが非同期通信の罠だったのです!

関数の最後の方でsleep を入れて、少々タイミングを遅らせたり、ajax が終わった時だけreturn するように工夫してみましたがぜんぜんダメ。

で調べていくうちに、ajax では非同期ではない通信もできることを知りました。
非同期ではないということは、処理は順繰りに進むということですから、ajax を置いてきぼりにして、関数が先にreturn してしまうことはありません。
このやさしさ、協調性、思いやり、大いに見習いたいところです。

そして私が書いたコードはこんな感じ。

$.ajax({
    url: './ajax_chk.php',
    type: 'post',
    data: {"name": name},
    async: false,
    success: function(data){
        msg = data;
    },
});
if (msg) {
    if (confirm(msg)) {
        return true;
    } else {
        return false;
    }
}

うん、近年まれに見る美しいコードではないでしょうか?

「$」はjQueryの別名だ!って知ってた?

jQuery を使っている人なら、多くの人は薄々感づいていたかも知れませんが、「jQuery」は関数の名前で、それだと長いので、別名として「$」が使えるようになっているようです。

なので、
namae = $(‘#name’).val();
と書くのと、
namae = jQuery(‘#name’).val();
は同じなのです。
だったら、普通は上の方を書きますよね。

のっぴきならない理由で「$」が使えない人は、別な変数に変えることもできるそうです。
私はそんなことしませんが、昔はjQuery 以外のライブラリもあって、「$」の取り合いになっていたのでしょうね。
うん、そう言えばそうだった。

昨今、ブログで難しいjQuery の説明をしてくれる人も多く、私も日々勉強させていただいておりますが、中には「$」を使わず、「jQuery」でコードを書く人がいらっしゃいます。
そんなとき、両者が同じだと分かっていないとちょっと混乱します。

正規表現を覚える方法。。。。はない

ひと様のソースを見ていると、時々出くわす正規表現。
なんとなく何か文字列を、何やらしているんだろうな、あとで必要があったらちゃんと見よう、などと読み飛ばしてしまうことが多いです。

^[^1-5].*{1,2}+\n$

この意味が分かりますか?
これは私が適当に書いたものですので、特に意味はありません。
正規表現とは日本語でも英語でもなく、もはや世界中のどんな言語でもありません。
人間には理解できなくて当然ですよね。

でも、職業柄、まったく使わないわけにもいきませんので、私の場合、正規表現を丁寧に説明してくれているサイトから正規表現の文字の書き方の一覧表を印刷し、壁に貼ってあります。
これなら、突然の正規表現にも安心ですよね。

なんだ、正規表現なんて結構単純じゃね、なんて思うのもつかの間、30分ぐらいすると忘れてしまうのが正規表現です。
最初から、覚えようとしないのがよいと思います。

edge で好きなフォルダーにダウンロードできるようになった!

download

前は勝手にダウンロードフォルダーにダウンロードされてましたが、いつの間にやら普通に、好きな名前を付けて好きなところにダウンロードできるようになっていました。

なんだ、ちゃんとやってくれてたのか。
前は、マイクロソフトにこの件でつらく当たってしまいましたが、分かってくれればそれでいいのよ。

2016年秋、Windows Update で画面の右下に現れたアクションセンターを消した!

頼みもしないのに、勝手に不要なアイコンをステータスバーに置かれると、普段温厚な私も少々ムッときます。
なので、削除の方法を探したら、これまでの方法では設定画面が出てこないことに気づきました。
隠し画面?
マイクロソフトは何を企んでいるのか。。。。

設定画面は、「設定」を開いて(こいつもなぜか勝手に歯車マークに変わっていた)、検索欄から「システム」ぐらいまで打つと、いくつか候補がでてきて、その中の、「システム アイコンのオン/オフの切り替え」を選びます。

pic1

あとは、出てきた画面で「アクション センター」をオフにするだけ。

image4144

これで、時計の隣の、漫画の吹き出しみたいなアイコンが消え、無事留飲を下げることができました。
マイクロソフト破れたり。

ebayで商品が来ないから返金してもらったら、あとでやっぱり届いた!

img_20160908_220905_resized_20160911_114518049

やっすいヘッドフォンではござますが、ebayで注文して、到着予定日を過ぎても届かず、販売元に連絡したら即座に返金され、これで結局何もなかったことになったと思っていたある日。。。。
仕事から帰ると、郵便受けの中に、派遣マッサージなどのチラシに交じって、グレーのビニールに包まれたヘッドフォンがございました。

てっきり詐欺業者にやられたと思っていた私は、商品を送ったという販売元からのメールにウソ偽りはなかったことを知ったのでございました。

ということで、このままでは、私が詐欺みたいなので、再度販売元に連絡を取ってpayPalで支払いをしました。
paypal

payPalの履歴を見ると、4.17ドルを払って、返金され、もう1度払った経緯が残されておりました。

再度金を払うと連絡した時の、販売元からの返信メールは、喜びに満ち溢れていました。
なので、まあ、これで一件落着ということでよかったと思います。

ebayの商品はそう簡単には届かない、このことは一生忘れずに胸に刻み込みたいと思います。

で、届いたヘッドフォンですが、安物ですからさすがに音はよくありませんが、でもちゃんとbluethooth 3.0 でスマホとつながりますし、スポーツ用ということで、一度つけたら多少首を振ったぐらいでは、ずれたり外れたりせず使いやすいです。

ebay で買ったワイヤレスイヤホンは本当に送られて来なかった

先日スマホ用のバッテリーをebay で買ったら、なかなか届かなかったですが、それでも3週間程度でなんとか受け取ることができました。
その結果、スマホを分解して使えなくしてしまったのは私の責任ですので、誰も恨んだりしていません。。。。。

で、次にebayで買ったのは、スポーツ用のイヤホン。
URLを張ってしまうと、これ↓

http://www.ebay.com/itm/Bluetooth-Wireless-Headset-Stereo-Headphone-Sport-Earphone-Handfree-for-iPhone-/141990337540?var=&hash=item210f489c04:m:mi5j27OF31I82rDi5Rh0iug

購入して早1ヶ月以上が経ちますが、最初に「送りました」とのメールが来ただけで、待てど暮せど、その後音沙汰なし。
日本円で500円ぐらいですので、届かなくてもいいや、くらいな気持ちで購入しましたが、本当に届かないと、どうも腹の虫が収まらない。

ebay からのメールには、購入品の状況を確認するページのリンクがあり、そこから、売主に連絡をとることができます。
こちらで文面を考えなくても、1回か2回選択項目を選ぶだけで、商品が届かないから早く送ってよ、というこっちの気持ちが相手に伝わる仕組みです。
よくできていると思いますが、裏返せば、そういうトラブルが多いということなのでしょうね。

ebay に訴えて、ちょっと気持ちも落ち着きました。
同じ商品が日本にもないのかな、と探してみたれば、アマゾンに売ってました。
https://www.amazon.co.jp/FLOVEME%E3%80%80Bluetooth3-0-%E9%AB%98%E9%9F%B3%E8%B3%AA%E3%80%80%E3%83%8D%E3%83%83%E3%82%AF%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97-%E3%83%98%E3%83%83%E3%83%89%E3%82%BB%E3%83%83%E3%83%88-%E3%83%8F%E3%83%B3%E3%82%BA%E3%83%95%E3%83%AA%E3%83%BC-%E3%83%8E%E3%82%A4%E3%82%BA%E3%82%AD%E3%83%A3%E3%83%B3%E3%82%BB%E3%83%AA%E3%83%B3%E3%82%B0%E6%90%AD%E8%BC%89/dp/B01G1EHCGS/ref=sr_1_1

(なんだこの長いURLは!)

日本で買った方が300円ほど高いですが、こっちは確実に届くんでしょうね。

つーか、日本のサイトで改めてみると、スペック低いっすね。
でも、待ってるから、早く届いて!

SMS付きのSIMカードにした!

IMG_20160904_144455_resized_20160904_024508378

先日、チケットぴあか何かで会員登録をしようとしたら、SMSが使えないとダメだということで断念しました。
以前より、LINEやら何やらで、携帯番号を持たない私(050はあるぞ!)は何かと肩身が狭く感じておりました。

で、思い立ってSMS付きのsimカードを買いました。
ちなみに通信会社はOCNです。
SMS付きにすると、月額料金が120円ぐらいかかるようですが、払えない額でもないので我慢しました。

私は実はショートメールというものをやったことがなく、どういうものかよくわかっていませんでした。
SIMカードを差し替え、古いカードをOCNのサイトで解約し、さっそくショートメールを試してみよう。。。。。かと思いましたが、出す相手がいない!
で、自分あてにメッセージを送ってみました。
Screenshot_2016-09-04-14-43-38

こんな風に吹き出しで内容が出るんですね。
うん、たしかに電車の中でこんな画面を出している人、よく見ます。

ちなみに使用したアプリは、HUAWEI P9 Lite に最初から入っていた「メッセージ」というやつです。

だれか私にショートメールを送ってくれまいか。

Ascend mate7 バッテリー交換失敗→スマホ買い替え!

情けない話ではありますが、スマホを買い替えることになりました。

苦労して海外からバッテリを購入して、youtube を参考にmate7を無理やりこじ開けて、バラバラに分解して、ケースの裏の内側にビッチリ張り付いた古いバッテリーをひっぺがし、新しいバッテリーをくっつけて、配線に注意しながら組み立てなおしてみたらば。。。。。なんとか起動はしたものの、タッチパネルが効かなくなりました。

なんども組み立てなおして、配線を色々確かめてみましたが、さっぱりわからず、結局、最低4年は使う予定だった愛機mate7に見切りをつけることを余儀なくされました。
1年半のおつきあいでしたが、まあ、極端に短いというほどの使用期間でもなかったかなぁ。。。。

価格.com のクチコミによると、7000円ぐらいでメーカーがバッテリー交換をやってくれるらしいですね。
。。。。いや、こんなことで涙を見せるわけには。。。。。

で、ヨドバシで買ったのが同じくHUAWEI の P9 lite というやつ。
夜中に頼んだら翌朝の9時前に郵便受けに入っていました!
P9 lite は、6インチのmate7 より少し小さく、5.2インチで、持ちやすいです。
それから驚いたのが、指紋認証の感度。
mate7 は1度や2度失敗してから認識するのが当たり前のような感覚でしたが、P9 lite は、1回でほぼ確実に認識してくれます。
これは便利!
時代は進んでいるんですね。

あ、なお、simカードは、そのままだと使えません。
nano sim なので、秋葉原までsimカッターというのを買いに行き、そいつでmicro sim をバッチンと小さくしました。
そんないい加減に切っちゃっても使えるもんなのですね。

それから、タッチパネルの効かなくなったmate7は、ミニUSB⇔普通のUSBのメス のケーブルを買い、マウスをつないで使っています。
タッチパネルのありがたみをしみじみと感じる、今日この頃です。

IMG_20160819_102642_resized_20160819_102704719