abema_url_list Fork

    @@ -7,15 +7,22 @@ // @author You // @match https://abema.tv/* // @grant none + // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js // ==/UserScript== function k_set() { var d_key = window.prompt("キーを入力してください\nURLを読み出す為に使います", ""); var d_url = window.prompt("URLを入力してください", ""); var d_title = window.prompt("タイトルを入力してください", ""); if (window.confirm("キーは" + d_key + "\nタイトルは" + d_title + "\nURLは" + d_url + "でよろしいですか?\n一つでも違う場合はキャンセルを押してください")) { - localStorage.setItem("v_" + d_key, "v_" + d_title); - localStorage.setItem("v_" + d_title, "v_" + d_url); var flag = 1; + for (var i = 0; i < 128; i++) { + if (!("v_url" + (i + 1) in localStorage)) { + localStorage.setItem("v_url" + (i + 1), "v_" + d_key); + localStorage.setItem("v_" + d_key, "v_" + d_title); + localStorage.setItem("v_" + d_title, d_url); + break; + } + } } else { flag = 0; }
    @@ -29,13 +36,24 @@ f_lp = k_set(); } } else if (result.snapshotItem(0).value == "open") { - var d_key = window.prompt("設定したキーを入力してください", ""); - var d_title = localStorage.getItem("v_" + d_key); - var d_url = localStorage.getItem(d_title); - d_title = d_title.replace("v_", ""); - d_url = d_url.replace("v_", ""); - if (window.confirm("タイトルは" + d_title + "\nURLは" + d_url + "でよろしいですか?")) { - location.href = d_url; + var result2 = document.evaluate('//form[@role="search"]', document, null, 7, null); + result2.snapshotItem(0).insertAdjacentHTML("beforeend", "<select id='select01'><option value='none'>選択してください</option></select>"); + var result3 = document.evaluate('id("select01")', document, null, 7, null); + for (var i = 0; i < 128; i++) { + if ("v_url" + (i + 1) in localStorage) { + var d_key = localStorage.getItem("v_url" + (i + 1)); + var d_title = localStorage.getItem(d_key); + var d_url = localStorage.getItem(d_title); + d_key = d_key.replace("v_", ""); + d_title = d_title.replace("v_", ""); + result3.snapshotItem(0).insertAdjacentHTML("beforeend", "<option value='" + d_url + "' title='" + d_title + "'>" + d_key + "</option>"); + } else { + break; + } } + result3.snapshotItem(0).addEventListener('change', function () { + var selectedValue = $("#select01").val(); + location.href = selectedValue; + }); } });
  • // ==UserScript==
    // @title        abema_url_list
    // @name         abema_url_list
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://abema.tv/*
    // @grant        none
    // @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
    // ==/UserScript==
    function k_set() {
      var d_key = window.prompt("キーを入力してください\nURLを読み出す為に使います", "");
      var d_url = window.prompt("URLを入力してください", "");
      var d_title = window.prompt("タイトルを入力してください", "");
      if (window.confirm("キーは" + d_key + "\nタイトルは" + d_title + "\nURLは" + d_url + "でよろしいですか?\n一つでも違う場合はキャンセルを押してください")) {
        var flag = 1;
        for (var i = 0; i < 128; i++) {
          if (!("v_url" + (i + 1) in localStorage)) {
            localStorage.setItem("v_url" + (i + 1), "v_" + d_key);
            localStorage.setItem("v_" + d_key, "v_" + d_title);
            localStorage.setItem("v_" + d_title, d_url);
            break;
          }
        }
      } else {
        flag = 0;
      }
      return flag;
    }
    var result = document.evaluate('//input[@name="search"]', document, null, 7, null);
    result.snapshotItem(0).addEventListener('change', function () {
      if (result.snapshotItem(0).value == "set") {
        var f_lp = 0;
        while (f_lp == 0) {
          f_lp = k_set();
        }
      } else if (result.snapshotItem(0).value == "open") {
        var result2 = document.evaluate('//form[@role="search"]', document, null, 7, null);
        result2.snapshotItem(0).insertAdjacentHTML("beforeend", "<select id='select01'><option value='none'>選択してください</option></select>");
        var result3 = document.evaluate('id("select01")', document, null, 7, null);
        for (var i = 0; i < 128; i++) {
          if ("v_url" + (i + 1) in localStorage) {
            var d_key = localStorage.getItem("v_url" + (i + 1));
            var d_title = localStorage.getItem(d_key);
            var d_url = localStorage.getItem(d_title);
            d_key = d_key.replace("v_", "");
            d_title = d_title.replace("v_", "");
            result3.snapshotItem(0).insertAdjacentHTML("beforeend", "<option value='" + d_url + "' title='" + d_title + "'>" + d_key + "</option>");
          } else {
            break;
          }
        }
        result3.snapshotItem(0).addEventListener('change', function () {
          var selectedValue = $("#select01").val();
          location.href = selectedValue;
        });
      }
    });
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。