Hatena::ブログ(Diary)

イム日記

2017-09-05

AtomでURLの部分をダブルクリックするとブラウザが開くようにする

| 06:13

このPackageを入れるとCtrl+クリックで開けるようになります。

ダブルクリックで開くようにするにはコードを下記のように変更します。

11行目

atom.workspace.activePaneContainer.paneContainer.element.addEventListener("click", function(e) {

atom.workspace.activePaneContainer.paneContainer.element.addEventListener("dblclick", function(e) {

63行目

if (e.ctrlKey || e.metaKey) {

if (true) {

2017-09-03

HTTPSのページからHTTPのリソースをXHRで取得する方法

| 23:36

出来ないかと思いましたが、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)
  };
});

2017-09-02

Atomの縦線をドラッグで動かせるようにするpackage

| 20:51

尚、縦線で折り返すにはエディタ設定のSoft Wrapを有効にすると出来ます。

2017-08-06

Last.fmで現在再生中になっている曲をDiscordで表示するUserScript

| 11:26

Last.fmで現在再生中になっている曲をDiscordで表示するUserScriptを作りました。

やり方はDiscordでNowplayingをやる方法というページに書きました。

2017-04-16

ダイエットにお金をかけている人は食料価格を割増で見る必要がある

| 21:30

知人がダイエットのために、

  • 器具を買ったり
  • ジムの会員になったり
  • 食べて痩せるとTVでやっていた食べ物を食べたり

等いろいろしているようですが、お菓子等が安売りされるたびに安いと言って買うので、本当に安いのだろうかと考えました。

例えば、肥満の原因と思われる食料(以下、肥満因子)の費用を10,000円、ダイエットにかけている費用を5,000円とします。

商品を買うときに値札を見て決めた場合、肥満因子を買うのに10,000円を使ったと考えていることになりますが、肥満因子を買わなければダイエット費用もかからなかったので、実際は15,000円使ったことになります。

この例では肥満因子の価格を5割増で見れば合理的な判断が出来ます。

某うまいアイスが200円とお買い得と言われても300円として考えるということになります。100円はダイエットのために貯蓄します。