#ぷるがしメモ

趣味とかプログラミングとか色々

テキスト入力してる時にタブ閉じようとすると確認ダイアログ出す

昨日10行くらい書いた文が誤ってタブを閉じてしまって全部消えるという悲しみを背負ったので対策プラグイン書いた。 サイトによってはこんもの書かなくても同じ状況になった時に確認取ってくれるんだけど,不親切なサイトが多すぎる。

  • confirm.js
window.addEventListener("beforeunload", function(event){
  var tag = document.activeElement.tagName;
  if (tag == "TEXTAREA" || tag == "INPUT")
    event.returnValue = "plugin";
  else
    ;
});
{
  "manifest_version": 2,
  "name": "alert",
  "description": "When you close browser tab and focus input or textarea, this plugin show alert dialog",
  "version": "1.0",
  "content_scripts": [{
    "matches": ["http://*/*","https://*/*"],
    "js": ["confirm.js"]
  }]
}

この2ファイルを置いたディレクトリをプラグインとして読み込めばOK. 読み込み方とかは適当にこのへんでも見てどうぞ liginc.co.jp

どのページでもいいけど,inputタグ or textareaタグにフォーカスがある時に タブを閉じようとするとダイアログが出て一旦止めてくれる。

任意の文字列をクリップボードにコピー

スクリプト内で実行すれば貴方のクリップボードに( ᐛ) パァが入る。

function copyToClipBoard() {
  var anyText= "( ᐛ) パァ";
  var textBox = document.createElement("textarea");
  textBox.setAttribute("id", "target");
  textBox.setAttribute("type", "hidden");
  textBox.textContent = anyText;
  document.body.appendChild(textBox);

  textBox.select();
  document.execCommand('copy');
  document.body.removeChild(textBox);
}

以下のコードでブックマークレットを作るといつでもどこでもクリックひとつで( ᐛ) パァをあなたの手元に用意することが出来る。

javascript:
  var anyText= "( ᐛ) パァ";
  var textBox = document.createElement("textarea");
  textBox.setAttribute("id", "target");
  textBox.setAttribute("type", "hidden");
  textBox.textContent = anyText;
  document.body.appendChild(textBox);

  textBox.select();
  document.execCommand('copy');
  document.body.removeChild(textBox);

Githubで特定のファイルを外部から参照するときのURL

例えばhtmlで外部のライブラリを読み込む時に

<script type="text/javascript" src="http://hoge.js">

みたいに書く時がたまにあるけど,Github上のファイルをターゲットにする時は注意が必要。 まぁ注意と言っても公式がそう言ってるからそうしましょうってレベル。

全部大文字のものは適当に読み替えて

https://cdn.rawgit.com/USERNAME/PROJECT/BRANCH/dist/FILENAME

curlコマンドで引っ張ってくるときも多分こっちのほうがいい

JSを追加で読み込む

ブックマークレットとか作るときとかにたまに使う。

function readJS() {
  var script=document.createElement('script');
  script.setAttribute("src", "https://hoge.js");
  script.setAttribute("src", "./foo.js");
  document.body.appendChild(script);
}