twitter_draft
by
jigendaddy
2018-11-18 [2018/11/18 12:57:07]
try to take over the world!
@@ -7,6 +7,7 @@
// @author You
// @match https://twitter.com/*
// @grant none
+// @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
// ==/UserScript==
var result = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
result.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" id="draft" value="下書き">');
@@ -14,7 +15,7 @@
localStorage.setItem("n_url", location.href);
history.pushState(null, null, "/koko_nanimo_naidesuyo");
document.body.innerHTML = "";
- document.body.insertAdjacentHTML("beforeend", "<textarea>戻るボタンなどのブラウザバックで元のページに戻ります</textarea><br><input type='button' value='save'><input type='button' value='load'>");
+ document.body.insertAdjacentHTML("beforeend", "<textarea>戻るボタンなどのブラウザバックで元のページに戻ります</textarea><br><input type='button' value='save'><input type='button' value='load'><span class='count'>0</span>");
var result2 = document.evaluate('//input', document, null, 7, null);
result2.snapshotItem(0).addEventListener('click', sample, false);
result2.snapshotItem(1).addEventListener('click', sample2, false);
@@ -29,6 +30,10 @@
var draft = localStorage.getItem('draft');
result3.snapshotItem(0).value = draft;
}
+ $('textarea').bind('keydown keyup keypress change', function () {
+ var thisValueLength = $(this).val().length;
+ $('.count').html(thisValueLength + "/140");
+ });
window.addEventListener('popstate', function (event) {
location.href = localStorage.getItem("n_url");
});
// ==UserScript==
// @title twitter_draft
// @name twitter_draft
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://twitter.com/*
// @grant none
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
// ==/UserScript==
var result = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
result.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" id="draft" value="下書き">');
document.getElementById("draft").addEventListener('click', function () {
localStorage.setItem("n_url", location.href);
history.pushState(null, null, "/koko_nanimo_naidesuyo");
document.body.innerHTML = "";
document.body.insertAdjacentHTML("beforeend", "<textarea>戻るボタンなどのブラウザバックで元のページに戻ります</textarea><br><input type='button' value='save'><input type='button' value='load'><span class='count'>0</span>");
var result2 = document.evaluate('//input', document, null, 7, null);
result2.snapshotItem(0).addEventListener('click', sample, false);
result2.snapshotItem(1).addEventListener('click', sample2, false);
function sample() {
var result3 = document.evaluate('//textarea', document, null, 7, null);
localStorage.setItem('draft', result3.snapshotItem(0).value);
}
function sample2() {
var result3 = document.evaluate('//textarea', document, null, 7, null);
var draft = localStorage.getItem('draft');
result3.snapshotItem(0).value = draft;
}
$('textarea').bind('keydown keyup keypress change', function () {
var thisValueLength = $(this).val().length;
$('.count').html(thisValueLength + "/140");
});
window.addEventListener('popstate', function (event) {
location.href = localStorage.getItem("n_url");
});
});
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。