<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel rdf:about="https://let.hatelabo.jp/TimeFires/rss">
    <link>https://let.hatelabo.jp/TimeFires/rss</link>
    <description></description>
    <title>Bookmarklets from TimeFires</title>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://let.hatelabo.jp/TimeFires/let/hJmeuNb19Lpa"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/TimeFires/let/hJmerNXw1KJ7"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/TimeFires/let/hJmeuNaiyf1p"/>
        <rdf:li rdf:resource="https://let.hatelabo.jp/TimeFires/let/hJmesYHtkMte"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://let.hatelabo.jp/TimeFires/let/hJmeuNb19Lpa">
    <link>https://let.hatelabo.jp/TimeFires/let/hJmeuNb19Lpa</link>
    <dc:date>2019-05-03T01:17:30Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>TimeFires</dc:creator>
    <title>[Let] a値確認＆編集更新スクリプト</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2FTimeFires%2Flet%2FhJmeuNb19Lpa.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;a値確認＆編集更新スクリプト&lt;/a&gt;&lt;pre&gt;/*
 * @title a値確認＆編集更新スクリプト
 * @description my bookmarklet
 * @include https:*.open2ch.net*
 * @license MIT License
 * @require 
 */

/*
cookieはopen2ch内ではどこでも（hayabusa,uniなど）同じ。
httpsではなくhttpでなければ使えないので注意。
http://hayabusa.open2ch.net/livejupiter/
*/

var firstLoadFlag = true

/*
こっから丸ごとコピペしてきました。
https://javascript.programmer-reference.com/js-check-hankaku-eisu/
*/
function IsHanEisu(str){
  str = (str==null)?&amp;quot;&amp;quot;:str;
  if(str.match(/^[A-Za-z0-9]*$/)){
    return true;
  }else{
    return false;
  }
}



function GetCookie(key) {
　// Cookieから値を取得する
　var cookieString = document.cookie;

　// 要素ごとに &amp;quot;;&amp;quot; で区切られているので、&amp;quot;;&amp;quot; で切り出しを行う
　var cookieKeyArray = cookieString.split(&amp;quot;;&amp;quot;);

　// 要素分ループを行う
　for (var i=0; i&amp;lt;cookieKeyArray.length; i++) {
　　var targetCookie = cookieKeyArray[i];

　　// 前後のスペースをカットする
　　targetCookie = targetCookie.replace(/^\s+|\s+$/g, &amp;quot;&amp;quot;);

　　var valueIndex = targetCookie.indexOf(&amp;quot;=&amp;quot;);
　　if (targetCookie.substring(0, valueIndex) == key) {
　　　// キーが引数と一致した場合、値を返す
　　　return unescape(targetCookie.slice(valueIndex + 1));
　　}
　}

　return &amp;quot;&amp;quot;;
}


function aValue_UPD(){
    console.log()

var aValue = document.getElementById(&amp;quot;aValue_txtArea&amp;quot;).value
var aValue_checkLen = aValue.length
var aValue_checkWord = IsHanEisu(aValue)
if (aValue_checkLen != 32) {alert('32桁入力してください。\n現在の桁数：'+ aValue_checkLen);return}
if (IsHanEisu(aValue) != true) {alert('半角英数字しか利用できません。');return}
document.cookie= 'a=' + aValue + ';expires=' + new Date('2030/12/31 23:59').toUTCString() +';path=/;domain=open2ch.net';
alert('書き換え完了。')
}


(window.onload = function() {
    if (firstLoadFlag == true) {
        firstLoadFlag = false
        var div_element = document.createElement(&amp;quot;div&amp;quot;);
        var parent_object
        div_element.style.position=&amp;quot;fixed&amp;quot;
        div_element.style.bottom= 0
        div_element.style.left= 0
        div_element.innerHTML = ''

        div_element.innerHTML = div_element.innerHTML + '&amp;lt;div style=&amp;quot;width:500px;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;'
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;aValue_txtArea&amp;quot; wrap=&amp;quot;off&amp;quot; COLS=&amp;quot;32&amp;quot; STYLE=&amp;quot;resize:none; width:300px; font-size:1em; color:#00FF00; background-color:#404040; overflow:scroll; top:0&amp;quot;&amp;gt;&amp;lt;/input&amp;gt;'
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;div style=&amp;quot;width:350px; font-size:1em; color:#FF0000; background-color:#F0F0F0;&amp;quot;&amp;quot;&amp;gt;※更新前にコピペなどでバックアップを取ってください&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;'
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;aValue_UpdBtn&amp;quot; value=&amp;quot;a値更新&amp;quot; style=&amp;quot;font-size:20px; WIDTH: 105px; HEIGHT: 45px; LEFT: 0&amp;quot;&amp;gt;';
        parent_object = document.getElementsByTagName(&amp;quot;body&amp;quot;)[0]
        parent_object.appendChild(div_element);
        document.getElementById(&amp;quot;aValue_txtArea&amp;quot;).value = GetCookie('a')
        document.getElementById(&amp;quot;aValue_UpdBtn&amp;quot;).onclick = function() {aValue_UPD()};

    }
})();
&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/TimeFires/let/hJmerNXw1KJ7">
    <link>https://let.hatelabo.jp/TimeFires/let/hJmerNXw1KJ7</link>
    <dc:date>2019-04-22T12:55:14Z</dc:date>
    <description>my bookmarklet</description>
    <dc:creator>TimeFires</dc:creator>
    <title>[Let] 無視設定ID編集</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2FTimeFires%2Flet%2FhJmerNXw1KJ7.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;無視設定ID編集&lt;/a&gt;&lt;pre&gt;/*
 * @title 無視設定ID編集
 * @description my bookmarklet
 * @include http://*
 * @license MIT License
 * @require 
 */
var firstLoadFlag = true
var lsHead_ngID = 'ignv3:'
var deli = '\&amp;quot;,\&amp;quot;'
var aryTail = '\&amp;quot;]'
if (location.href.slice(0,5) != 'https') {
    lsHead_ngID = 'ign:'
    deli = ':1\&amp;quot;,\&amp;quot;'
    aryTail = ':1\&amp;quot;]'
}
var list_ngID = ''
console.log(lsHead_ngID)
var test = kget(lsHead_ngID + bbs) + ''
if (test != ''){
    list_ngID = test.slice(1,-1).replace(/&amp;quot;/g,'').replace(/,/g,'\n').replace(/:1/g,'')
}
function kget(key){
    var val;
    if(window.localStorage){
        val = localStorage.getItem(key);
    } else {
        val = storage[key];
    }
    return val;
}
function kset(key,val){
    if(window.localStorage){
        localStorage.setItem(key,val);
    } else {
        storage[key] = val;
    }
}
function NGID_UPD(){
    console.log()
    var list_newNgID = document.getElementById(&amp;quot;ngID_txtArea&amp;quot;).value
    list_newNgID = list_newNgID.replace(/\n{2,}/g,'\n')
    list_newNgID = list_newNgID.replace(/\n\n/g,'\n').replace(/\n/g,deli)
    list_newNgID = '[\&amp;quot;' + list_newNgID + aryTail
    kset(lsHead_ngID + bbs,list_newNgID)
}


(window.onload = function() {
    if (firstLoadFlag == true) {
        firstLoadFlag = false
        var div_element = document.createElement(&amp;quot;div&amp;quot;);
        var parent_object
        div_element.style.position=&amp;quot;fixed&amp;quot;
        div_element.style.bottom= 0
        div_element.style.left= 0
        div_element.innerHTML = ''
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;textarea id=&amp;quot;ngID_txtArea&amp;quot; wrap=&amp;quot;off&amp;quot; ROWS=&amp;quot;18&amp;quot; COLS=&amp;quot;10&amp;quot; STYLE=&amp;quot;resize:none; width:120px; font-size:1em; color:#00FF00; background-color:#404040; overflow:scroll; top:0&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;'
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;div style=&amp;quot;width:500px;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;padding:0px&amp;quot;&amp;gt;'
        div_element.innerHTML = div_element.innerHTML + '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;ngID_UpdBtn&amp;quot; value=&amp;quot;NGID更新&amp;quot; style=&amp;quot;font-size:20px; WIDTH: 105px; HEIGHT: 45px; LEFT: 0&amp;quot;&amp;gt;';
        parent_object = document.getElementsByTagName(&amp;quot;body&amp;quot;)[0]
        parent_object.appendChild(div_element);
        document.getElementById(&amp;quot;ngID_txtArea&amp;quot;).value = list_ngID
        document.getElementById(&amp;quot;ngID_UpdBtn&amp;quot;).onclick = function() {NGID_UPD()};

    }
})();&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/TimeFires/let/hJmeuNaiyf1p">
    <link>https://let.hatelabo.jp/TimeFires/let/hJmeuNaiyf1p</link>
    <dc:date>2017-01-22T08:56:43Z</dc:date>
    <description></description>
    <dc:creator>TimeFires</dc:creator>
    <title>[Let] おーぷん2ch＿UAとa値表示用スクリプト</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2FTimeFires%2Flet%2FhJmeuNaiyf1p.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;おーぷん2ch＿UAとa値表示用スクリプト&lt;/a&gt;&lt;pre&gt;/*
 * @title おーぷん2ch＿UAとa値表示用スクリプト
 * @include http://*.open2ch.net/test/read.cgi/*
 * @license MIT License
 */

var ua = navigator.userAgent.toLowerCase();
// Cookieから値を取得する
var cookieString = document.cookie;

function getCookie(key) {
　// Cookieから値を取得する
　var cookieString = document.cookie;

　// 要素ごとに &amp;quot;;&amp;quot; で区切られているので、&amp;quot;;&amp;quot; で切り出しを行う
　var cookieKeyArray = cookieString.split(&amp;quot;;&amp;quot;);

　// 要素分ループを行う
　for (var i=0; i&amp;lt;cookieKeyArray.length; i++) {
　　var targetCookie = cookieKeyArray[i];

　　// 前後のスペースをカットする
　　targetCookie = targetCookie.replace(/^\s+|\s+$/g, &amp;quot;&amp;quot;);

　　var valueIndex = targetCookie.indexOf(&amp;quot;=&amp;quot;);
　　if (targetCookie.substring(0, valueIndex) == key) {
　　　// キーが引数と一致した場合、値を返す
　　　return unescape(targetCookie.slice(valueIndex + 1));
　　}
　}

　return &amp;quot;&amp;quot;;
} 

alert(ua + '■' + getCookie('a'))&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="https://let.hatelabo.jp/TimeFires/let/hJmesYHtkMte">
    <link>https://let.hatelabo.jp/TimeFires/let/hJmesYHtkMte</link>
    <dc:date>2017-01-10T11:22:41Z</dc:date>
    <description></description>
    <dc:creator>TimeFires</dc:creator>
    <title>[Let] おーぷん2ch無視設定変更スクリプト</title>
    <content:encoded>&lt;a href="javascript:%22https%3A%2F%2Flet.st-hatelabo.com%2FTimeFires%2Flet%2FhJmesYHtkMte.bookmarklet.js%20%28arg%29%22.replace%28%2F%28%5CS%2B%29%5Cs%2B%28%5CS%2A%29%2F%2Cfunction%28s%2Curl%2Carg%29%7Bs%3Ddocument.createElement%28%22script%22%29%3Bs.charset%3D%22utf-8%22%3Bs.src%3Durl%2B%22%3Fs%3D%22%2BencodeURIComponent%28arg%29%3Bdocument.body.appendChild%28s%29%7D%29%3Bvoid%280%29%3B"&gt;おーぷん2ch無視設定変更スクリプト&lt;/a&gt;&lt;pre&gt;/*
 * @title おーぷん2ch無視設定変更スクリプト
 * @include http://*.open2ch.net/test/read.cgi/*
 * @license MIT License
 */
//スレッド書き込み欄の下にボタンとテキストエリアが出てきます。
//IDを好きに設定してください。完全一致のみです。
//なお、ツイッターID「tw@～」を設定すると、@は消えますが使用であり問題なく設定できます。
//
// ==UserScript==
// @name        ローカルストレージ勉強
// @namespace   open
// @include     http://*.open2ch.net/test/read.cgi/*
// @version     1
// @grant       none
// ==/UserScript==
function Manual_GetStorage() {
  var mes = ''
  try {
    var ignArray = localStorage.getItem('ign:' + bbs).slice(1, - 1).split(',')
    for (var i = 0; i &amp;lt; ignArray.length; i++) {
      mes += ignArray[i].slice(0, ignArray[i].indexOf(':')).slice(1, - 1) + '\n'
    }
  } 
  catch (e) {
    console.log('無視対象がありません')
  }
  return mes
}
var musiid = 'musi_upd_ta'
function Manual_SetStorage() {
  var setMes = '';
  var at = '@'
  //document.getElementById(musiid);
  var setMesArray = Ta.value.split('\n');
  localStorage.setItem('ign:' + bbs, '')
  for (var i = 0; i &amp;lt; setMesArray.length; i++) {
    console.log('■' + setMesArray[i] + '■')
    if (setMesArray[i] !== '' &amp;amp;&amp;amp; setMesArray[i] !== '\n') {
      setMes += '&amp;quot;' + setMesArray[i].replace(at, '') + '&amp;quot;' + ':1,'
    }
  }
  setMes = '{' + setMes.slice(0, - 1) + '}' //var ignArray = 
  localStorage.setItem('ign:' + bbs, setMes)
  window.location.reload();
}
var Frm = document.getElementById('form1');
var Botan = document.createElement('input');
Botan.type = 'button';
Botan.value = '無視設定配列更新ボタン';
Botan.id = 'musi_upd_btn';
Botan.onclick = Manual_SetStorage;
Frm.appendChild(Botan);
var Ta = document.createElement('textarea');
Ta.value = Manual_GetStorage();
Ta.id = musiid;
Ta.rows = 3
Frm.appendChild(Ta);&lt;/pre&gt;</content:encoded>
  </item>
</rdf:RDF>
