spot_search
by
jigendaddy
2018-12-25 [2018/12/25 13:38:17]
try to take over the world!
@@ -1,66 +1,48 @@
// ==UserScript==
-// @title twitter2hatena
-// @name twitter2hatena
+// @title spot_author_search
+// @name spot_author_search
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
-// @match https://twitter.com/*/status/*
+// @match https://travel.spot-app.jp/*
// @grant none
// ==/UserScript==
-var result = document.evaluate('//div[@class="ProfileTweet-actionList js-actions"]', document, null, 7, null);
-result.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" value="登録" id="regist2">');
-var result2 = document.evaluate('id("regist2")', document, null, 7, null);
-result2.snapshotItem(0).addEventListener('click', sample, false);
-
-function sample() {
- for (var i = 0; i < 128; i++) {
- if (!('tweet' + (i + 1) in localStorage)) {
- if (i == 127) {
- alert("保存できるURLの数は128までに制限しています。\nローカルストレージから登録したキーを削除してください");
- break;
- }
- var cb = list_check(i + 1, location.href);
- if (cb != 1) {
- localStorage.setItem('tweet' + (i + 1), location.href);
- alert("登録しました");
- break;
- } else {
- break;
- }
+var result6 = document.evaluate('//ul[@class="nav_list"]', document, null, 7, null);
+result6.snapshotItem(0).insertAdjacentHTML('afterbegin', '<input type="text" id="sub_search" value="">');
+document.getElementById("sub_search").addEventListener('change', function () {
+ location.href = "https://travel.spot-app.jp/?s=" + document.getElementById("sub_search").value;
+});
+if (!(/\/tag\//g.test(location.href)) && !(/\/category\//g.test(location.href))) {
+ var result = document.evaluate('//div[@class="author-name"]/a/text()', document, null, 7, null);
+ var result2 = document.evaluate('//div[@class="loop-meta"]/div', document, null, 7, null);
+ for (var i = 0; i < result.snapshotLength; i++) {
+ var sp = " ";
+ var reg2 = new RegExp(sp);
+ if (reg2.test(result.snapshotItem(i).nodeValue)) {
+ result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a></a></div>");
+ } else {
+ result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a href=https://travel.spot-app.jp/tag/" + result.snapshotItem(i).nodeValue + "/#dummy>" + result.snapshotItem(i).nodeValue + "</a></div>");
}
}
- //重複削除
- function list_check(lp, n_name) {
- var flag = 0;
- for (var i = 0; i < lp; i++) {
- if (localStorage.getItem('tweet' + (i + 1)) == n_name) {
- alert("このツイートは既に登録されています");
- flag = 1;
- break;
- }
- }
- return flag;
+ var result3 = document.evaluate('//div[@class="cover"]', document, null, 7, null);
+ for (var j = 0; j < result3.snapshotLength; j++) {
+ result3.snapshotItem(j).remove();
}
-}
-//リスト表示処理
-var result4 = document.evaluate('//div[@class="ProfileTweet-actionList js-actions"]', document, null, 7, null);
-result4.snapshotItem(0).insertAdjacentHTML('beforeend', '<input type="button" value="リスト" id="list2">');
-var result5 = document.evaluate('id("list2")', document, null, 7, null);
-result5.snapshotItem(0).addEventListener('click', sample2, false);
-
-function sample2() {
- localStorage.setItem("n_url", location.href);
- history.pushState(null, null, "/koko_nanimo_naidesuyo3");
- document.body.innerHTML = "";
- for (var i = 0; i < 128; i++) {
- if ('tweet' + (i + 1) in localStorage) {
- document.body.insertAdjacentHTML('beforeend', '<div>[' + localStorage.getItem('tweet' + (i + 1)) + ':embed]</div>');
- } else {
- break;
+} else if (/#dummy/g.test(location.href)) {
+ var result5 = document.evaluate('//span[@class="title"]/text()', document, null, 7, null);
+ var t1 = result5.snapshotItem(0).nodeValue;
+ var er = "ERROR"
+ var reg = new RegExp(er);
+ if (reg.test(t1)) {
+ alert("authorページが確認できません。\n元のページに戻ります");
+ history.back();
+ } else {
+ var result4 = document.evaluate('//div[@class="author-name"]/a', document, null, 7, null);
+ for (var k = 0; k < result4.snapshotLength; k++) {
+ if (result4.snapshotItem(k).href == result4.snapshotItem(k + 1).href) {
+ location.replace(result4.snapshotItem(k).href);
+ }
}
}
- window.addEventListener('popstate', function (event) {
- location.href = localStorage.getItem("n_url");
- });
}
// ==UserScript==
// @title spot_author_search
// @name spot_author_search
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://travel.spot-app.jp/*
// @grant none
// ==/UserScript==
var result6 = document.evaluate('//ul[@class="nav_list"]', document, null, 7, null);
result6.snapshotItem(0).insertAdjacentHTML('afterbegin', '<input type="text" id="sub_search" value="">');
document.getElementById("sub_search").addEventListener('change', function () {
location.href = "https://travel.spot-app.jp/?s=" + document.getElementById("sub_search").value;
});
if (!(/\/tag\//g.test(location.href)) && !(/\/category\//g.test(location.href))) {
var result = document.evaluate('//div[@class="author-name"]/a/text()', document, null, 7, null);
var result2 = document.evaluate('//div[@class="loop-meta"]/div', document, null, 7, null);
for (var i = 0; i < result.snapshotLength; i++) {
var sp = " ";
var reg2 = new RegExp(sp);
if (reg2.test(result.snapshotItem(i).nodeValue)) {
result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a></a></div>");
} else {
result2.snapshotItem(i).insertAdjacentHTML('beforeend', "<div class=n_author><a href=https://travel.spot-app.jp/tag/" + result.snapshotItem(i).nodeValue + "/#dummy>" + result.snapshotItem(i).nodeValue + "</a></div>");
}
}
var result3 = document.evaluate('//div[@class="cover"]', document, null, 7, null);
for (var j = 0; j < result3.snapshotLength; j++) {
result3.snapshotItem(j).remove();
}
} else if (/#dummy/g.test(location.href)) {
var result5 = document.evaluate('//span[@class="title"]/text()', document, null, 7, null);
var t1 = result5.snapshotItem(0).nodeValue;
var er = "ERROR"
var reg = new RegExp(er);
if (reg.test(t1)) {
alert("authorページが確認できません。\n元のページに戻ります");
history.back();
} else {
var result4 = document.evaluate('//div[@class="author-name"]/a', document, null, 7, null);
for (var k = 0; k < result4.snapshotLength; k++) {
if (result4.snapshotItem(k).href == result4.snapshotItem(k + 1).href) {
location.replace(result4.snapshotItem(k).href);
}
}
}
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。