AutoPagerize/Extension/OnVector

Last-modified: 2009-02-12 (木) 19:18:43

AutoPagerize for SeaHorse On Vector

概要

  • VectorのカテゴリページでAutoPagerize for SeaHorseを動作可能にするSeaHorseスクリプト

必須拡張

  • SeaHorse 1.1.1 以上
  • UserAction Extension 1.0.0 以上

参考

動作確認環境

  • Windows XP SP2
  • Internet Explorer 7
  • Sleipnir 2.8.3
  • Seahorse 1.1.2
  • UserAction Extension 1.0.1

インストール

  • ソースをコピーし、テキストエディタに貼り付け
  • sleipnir のインストールディレクトリ\plugins\seahorse\!ApOnVector.user.js に保存
    • ※必ずファイル名の先頭に「!」等をつけて、エクスプローラ等で名前順で表示した際に、@AutoPagerize.user.jsより上に来るようなファイル名にする事
  • sleipnir 再起動

説明

ソース

// ==UserScript==
// @name           AutoPagerize for SeaHorse On Vector
// @description    AutoPagerize for SeaHorse を Vector の カテゴリページで動作させる
// @include        http://www.vector.co.jp/vpack/filearea/*
// ==/UserScript==
(function(){
	var curHref = location.href;
	var main = function(doc) {
		try {
			// set microformats
			var pageElm = doc.getElementById('subbody').getElementsByTagName('ul')[0];
			while(pageElm){
				if (pageElm.className == 'botad') break;
				pageElm.className += ' autopagerize_page_element';
				pageElm = pageElm.nextSibling;
			}
			// create next link
			var link = doc.createElement('a');
			link.rel = 'next';
			link.style.display = 'none';
			link.href = curHref = (/index_\d+\.html/.test(curHref)) ?
				(function(href) {
					var index = parseInt(href.match(/index_(\d+)\.html/)[1], 10);
					var str = (index+1).toString(10);
					for (var i = str.length; i < 3; i++)
						 str = '0' + str;
					return href.replace(/index_\d+\.html/, 'index_' + str + '.html');
				})(curHref) : curHref + 'index_002.html';
			doc.body.appendChild(link);
		} catch(e) { }
	};
	main(document);

	(function (filter, i) {
		i = i || 4;
		if (window.AutoPagerize && window.AutoPagerize.addDocumentFilter) {
			window.AutoPagerize.addDocumentFilter(filter);
		} else if (i > 1) {
			var f = arguments.callee;
			setTimeout(function() {
				f(filter, i - 1);
			}, 1000);
		}
	})(main);
})();