1300

移行用のテストです

YoutubeでURLメモ用のテキストエリアを表示

このスクリプトFirefoxで動作を保証しないものとします
let.hatelabo.jp

// ==UserScript==
// @name         youtube2hatena
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.youtube.com/*
// @grant        none
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
// ==/UserScript==
var result2 = document.evaluate('id("search-form")', document, null, 7, null);
result2.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" value="メモ" id="draft">');
$(function () {
  $('#draft').click(function () {
    localStorage.setItem("n_url", location.href);
    history.pushState(null, null, "/channel/");
    document.body.innerHTML = "";
    if (!('draft' in localStorage)) {
      document.body.insertAdjacentHTML("beforeend", "<textarea>戻るボタンなどのブラウザバックで元のページに戻ります</textarea><br><input type='button' value='save'><input type='button' value='load'><input type='button' value='hatena'>");
    } else {
      document.body.insertAdjacentHTML("beforeend", "<textarea>" + localStorage.getItem('draft') + "</textarea><br><input type='button' value='save'><input type='button' value='load'><input type='button' value='hatena'>");
    }
    var result2 = document.evaluate('//input', document, null, 7, null);
    result2.snapshotItem(0).addEventListener('click', sample, false);
    result2.snapshotItem(1).addEventListener('click', sample2, false);
    result2.snapshotItem(2).addEventListener('click', sample3, false);

    function sample() {
      var result3 = document.evaluate('//textarea', document, null, 7, null);
      localStorage.setItem('draft', result3.snapshotItem(0).value);
      alert("保存しました");
    }

    function sample2() {
      var result3 = document.evaluate('//textarea', document, null, 7, null);
      var draft = localStorage.getItem('draft');
      result3.snapshotItem(0).value = draft;
      alert("ロードしました");
    }

    function sample3() {
      var result3 = document.evaluate('//textarea', document, null, 7, null);
      var r1 = /https\:\/\//gi;
      var r2 = /(\[.+)\n/gi;
      var r3 = /\&t\=\d+s/gi;
      result3.snapshotItem(0).value = result3.snapshotItem(0).value.replace(r1, '[https://');
      result3.snapshotItem(0).value = result3.snapshotItem(0).value.replace(r2, '$1:embed:cite]\n');
      result3.snapshotItem(0).value = result3.snapshotItem(0).value.replace(r3, '');
      alert("はてな記法に置き換えました");
    }
    window.addEventListener('popstate', function (event) {
      location.href = localStorage.getItem("n_url");
    });
  }, );
});