HTTPSのページからHTTPのリソースをXHRで取得する方法
出来ないかと思いましたが、Firefox 55.0.3で出来る方法がありました。
下記のサンプルはhttps://example.comで実行するとHello Worldと出ます。
(function (i) { var w = i.contentWindow; onmessage = function (e) { if (e.source === w) alert(e.data); }; i.sandbox = 'allow-scripts'; i.src = 'data:text/html,%3Cscript%3Evar%20a%20%3D%20new%20XMLHttpRequest%3Ba.onload%3Dfunction()%7Bparent.postMessage(a.responseText%2C%22https%3A%2F%2Fexample.com%22)%7D%3Ba.open(%22get%22%2C%22http%3A%2F%2F1mu.info%2Fjunk%2Fhello.txt%22)%3Ba.send()%3C%2Fscript%3E'; })(document.body.appendChild(document.createElement('iframe')));
尚、Data URIの内容は下記のようになっています。
<script> var a = new XMLHttpRequest; a.onload = function () { parent.postMessage(a.responseText, "https://example.com"); }; a.open("get", "http://1mu.info/junk/hello.txt"); a.send(); </script>
Chromeだと混在コンテンツとしてエラーが出ます。この方法はFirefoxでも近いうちに使えなくなるかもしれません。
別の手段としてiframeではなくpostMessage用ページを開く方法を考えました。
この方法はChrome 60.0.3112.113とFirefox 55.0.3で動作しました。今後使えなくなるかどうかはわかりませんが、ユーザーのクリックを待つのと新規タブを開いておく必要があるのであまりいい方法ではないと思います。
下記のサンプルはhttps://example.comで実行したあとページのどこかをクリックするとHello Worldと出ます。
document.addEventListener('click', function () { var w = open('http://1mu.info/junk/postmessage.html'); onmessage = function (e) { if (e.origin === 'http://1mu.info' && e.source === w) alert(e.data) }; });
Atomの縦線をドラッグで動かせるようにするpackage
尚、縦線で折り返すにはエディタ設定のSoft Wrapを有効にすると出来ます。
Last.fmで現在再生中になっている曲をDiscordで表示するUserScript
Last.fmで現在再生中になっている曲をDiscordで表示するUserScriptを作りました。
やり方はDiscordでNowplayingをやる方法というページに書きました。
ダイエットにお金をかけている人は食料価格を割増で見る必要がある
知人がダイエットのために、
- 器具を買ったり
- ジムの会員になったり
- 食べて痩せるとTVでやっていた食べ物を食べたり
等いろいろしているようですが、お菓子等が安売りされるたびに安いと言って買うので、本当に安いのだろうかと考えました。
例えば、肥満の原因と思われる食料(以下、肥満因子)の費用を10,000円、ダイエットにかけている費用を5,000円とします。
商品を買うときに値札を見て決めた場合、肥満因子を買うのに10,000円を使ったと考えていることになりますが、肥満因子を買わなければダイエット費用もかからなかったので、実際は15,000円使ったことになります。
この例では肥満因子の価格を5割増で見れば合理的な判断が出来ます。
某うまいアイスが200円とお買い得と言われても300円として考えるということになります。100円はダイエットのために貯蓄します。
三菱東京UFJダイレクトで24時間休日振込するには登録が必要
三菱東京UFJダイレクトでは24時間休日含めて即時振込が可能ですが登録しなければ有効にならないようです。
SMBCデビットで三井住友VISAプリペイドを買う場合手数料がかかる
によると、三井住友VISAプリペイドを買う場合、VJA・オムニカード協会加盟各社発行のVisaカード、Mastercardでのお支払い
は手数料が無料
になるようです。また、
によると、SMBCデビットのカード発行会社は三井住友カード(株)
のようです。そして、
によると、三井住友カード株式会社はVJAグループのようです。
以上のことから、SMBCデビットで三井住友VISAプリペイドを買う場合手数料が無料になるのではないかと思い、3000円分を購入したところ、手数料を含む3200円で決済されました。
したがって、SMBCデビットはVJA・オムニカード協会加盟各社発行のVisaカード
に含まれないということになります。