ツタヤ在庫一括表示
by
hotokediary
2018-11-29 [2018/11/29 12:40:03]
TSUTAYAの店頭在庫検索結果でこれを使うと表示されてる店舗の在庫を一括で取得し結果を表示します 連続取得は巡回速度1/(1+res)[page/s]にしてあるので取得に1秒かかる場合は20件40秒かかります 詳しい使い方の説明は https://1mu.info/texts/tsutayalet/
@@ -7,8 +7,13 @@
*/
var wait = 500;
-
-if (location.href.indexOf("http://store.tsutaya.co.jp/tsutaya/articleList?")) {
+var url;
+if (url = location.href.match(/^http:\/\/as\.chizumaru\.com(\/tsutaya\/articleList\?.*)$/)) {
+ document.body.innerHTML = "<P>3秒後移動します。移動先でもう一度実行してください";
+ setTimeout(function() {
+ location.href = "http://store-tsutaya.tsite.jp" + url[1];
+ }, 3000);
+} else if (!/^http:\/\/(?:store-tsutaya\.tsite\.jp|store\.tsutaya\.co\.jp)\/tsutaya\/articleList\?/.test(location.href)) {
if (confirm("TSUTAYAのページに移動しますか"))
location.href = "http://store.tsutaya.co.jp/";
@@ -23,7 +28,7 @@
var links = document.links, storeLinks = [];
for (var i = 0, link; link = links[i]; ++i)
- if (/http:\/\/store\.tsutaya\.co\.jp\/item\/[^\/]+\/\d+\.html\?storeId/.test(link.href))
+ if (/^http:\/\/(?:store-tsutaya\.tsite\.jp|store\.tsutaya\.co\.jp)\/item\/[^\/]+\/\d+\.html\?storeId/.test(link.href))
storeLinks.push(link);
window.isGetting = true;
/*
* @title ツタヤ在庫一括表示
* @description TSUTAYAの店頭在庫検索結果でこれを使うと表示されてる店舗の在庫を一括で取得し結果を表示します 巡回速度1/(0.5+res)[page/s]にしてあるので最短10秒かかります 詳しい使い方の説明は http://1mu.info/texts/tsutayalet/
* @include
* @license
* @require jQuery
*/
var wait = 500;
var url;
if (url = location.href.match(/^http:\/\/as\.chizumaru\.com(\/tsutaya\/articleList\?.*)$/)) {
document.body.innerHTML = "<P>3秒後移動します。移動先でもう一度実行してください";
setTimeout(function() {
location.href = "http://store-tsutaya.tsite.jp" + url[1];
}, 3000);
} else if (!/^http:\/\/(?:store-tsutaya\.tsite\.jp|store\.tsutaya\.co\.jp)\/tsutaya\/articleList\?/.test(location.href)) {
if (confirm("TSUTAYAのページに移動しますか"))
location.href = "http://store.tsutaya.co.jp/";
} else if (window.isGetting) {
if (confirm("取得を中止しますか"))
window.isGetting = false;
} else {
var links = document.links, storeLinks = [];
for (var i = 0, link; link = links[i]; ++i)
if (/^http:\/\/(?:store-tsutaya\.tsite\.jp|store\.tsutaya\.co\.jp)\/item\/[^\/]+\/\d+\.html\?storeId/.test(link.href))
storeLinks.push(link);
window.isGetting = true;
(function getStockInfo() {
if (window.isGetting && (window.isGetting = storeLinks.length))
(function (link) {
var t = link.parentNode.insertBefore(document.createTextNode("取得中..."), link.nextSibling);
setTimeout(function () {
$.ajax({
type: "GET",
url: link,
dataType: "text",
success: function(data){
var m = data.match(/在庫状況:<span>([^<]+)<\/span>/);
if (m)
t.nodeValue = m[1];
},
error: function () { t.nodeValue = "取得失敗";},
complete: getStockInfo
});
}, wait);
})(storeLinks.shift());
})();
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。