改行で区切って' + labelcore + 'を入力or削除してください。
'; text = text + 'now loading...
"); this.isNowLoading = true; this.startIndex--; var self = this; $.get(this.bbsUrls[this.startIndex], function(r){ self.prependBbs($(r).find("dl")); }); if(this.startIndex === 0){ $("#loadPreviousPageLinks").remove(); } }; ManagerToReadBbs.prototype.prependBbs = function(dl){ this.resCollection.revivalAllRes(); $(".st-bbs-contents dl").prepend(dl.contents()); this.createAndSetResList(); $("#loading").remove(); this.isNowLoading = false; }; ManagerToReadBbs.prototype.readNextBbs = function(){ if(this.isNowLoading || this.endIndex >= this.bbsUrls.length - 1){ return; } $("#bbsmain").append("now loading...
"); this.isNowLoading = true; this.endIndex++; var self = this; $.get(this.bbsUrls[this.endIndex], function(r){ self.appendBbs($(r).find("dl")); }); if(this.endIndex === this.bbsUrls.length - 1){ $("#loadNextPageLinks").remove(); } }; ManagerToReadBbs.prototype.appendBbs = function(dl){ this.resCollection.revivalAllRes(); $(".st-bbs-contents dl").append(dl.contents()); this.createAndSetResList(); $("#loading").remove(); this.isNowLoading = false; }; ManagerToReadBbs.prototype.initSmallBbs = function(){ this.initPager(); this.ngOperator.initNg(); this.createAndSetResList(); this.menuOperator.insertConfigHtml(); this.menuOperator.bindMenu(); this.menuOperator.bindContextMenu(); }; ManagerToReadBbs.prototype.initPager = function(){ return if(!GM_getValue("addToOnePage")){ return; } var pager = $(".st-bbs-contents .pager"); var self = this; if(this.urlAnalyzer.inArticlePage()){ pager.find(".navi").remove(); }else{ pager.eq(0).find("a:not(:first), .current, span").remove(); if(this.startIndex > 0){ pager.eq(0).append("前へ"); pager.find("#loadPreviousPageLinks").click(function(){self.readPreviousBbs(); return false;}); } pager.eq(1).find("a:not(:first), .current, span").remove(); if(this.endIndex < this.bbsUrls.length - 1){ pager.eq(1).append("次へ"); pager.find("#loadNextPageLinks").click(function(){self.readNextBbs(); return false;}); } } }; ManagerToReadBbs.prototype.scrollLoader = function(){ this.reserved = false; var self = this; setInterval(function(){ if(self.reserved){ self.reserved = false; self.readNextBbs(); } }, 1000); $(window).scroll(function(){ if($(".selected").attr("id") === "bbsLi" && GM_getValue("autoLoad") && $("html").scrollTop() + $(window).height() > $("#bbsmain").position().top + $("#bbsmain").height()){ self.reserved = true; } }); }; ManagerToReadBbs.prototype.createAndSetResList = function(){ this.resCollection.createResList($(".st-bbs-contents dl")); this.resCollection.createResListById(); this.resCollection.createResListByNumber(); this.resCollection.makeTooltips(); this.resCollection.setContextMenu(); var resList = this.resCollection.resList; for(var i = 0; i < resList.length; i++){ resList[i].backupRes(); } this.ngOperator.applyNg(resList); }; //-----単体の関数----- var removeUselessLines = function(s){ if(!s){ return; } var lines = s.split("\n"); var storage = {}; for(var i = 0; i < lines.length;){ if(!lines[i] || lines[i] in storage){ lines.splice(i, 1); }else{ storage[lines[i]] = 0; i++; } } return lines.join("\n"); }; var initConfig = function(ids){ for(var i = 0; i < ids.length; i++){ if(GM_getValue(ids[i]) === undefined){ GM_setValue(ids[i], true); } } } var insertStyle = function(){ var idStyle = ".ID{text-decoration:underline; color:black; display:inline;} .IDMulti{text-decoration:underline; color:blue; display:inline;}" + ".IDMany{text-decoration:underline; color:red; display:inline;}"; var numberStyle = ".Number{text-decoration: underline; display:inline;} .NumberMulti{text-decoration: underline; display:inline; color:blue;}" + ".NumberMany{text-decoration: underline; display:inline; color:red;}"; var insideTooltipStyle = ".dic{display:inline;}"; var onMouseIdStyle = ".ID:hover, .IDMulti:hover, .IDMany:hover, .dic:hover{text-decoration:none;}"; var defaultTooltipStyle = ".ID>div, .IDMulti>div, .IDMany>div, .dic>div, .Number>div, .NumberMulti>div, .NumberMany>div, .NumberHandle>div{display:none;}"; var onMouseTooltipStyle = ".ID:hover>div, .IDMulti:hover>div, .IDMany:hover>div, .numTooltip:hover>div," + " .Number:hover>div, .NumberMulti:hover>div, .NumberMany:hover>div, .NumberHandle:hover>div" + "{color:black; display:inline; position:absolute; background:#f5f5b5; border:solid black 1px; padding;5px; font-size:8pt; overflow:auto;" + " box-shadow:1px 1px; z-index:10000;font-weight:normal;}"; var leftboxStyle = "div.left-box{border: groove 1px gray; border-radius: 5px; background-image:none;}"; var ngStyle = "#ng{display:none;}"; var hideMenu = "#topbarRightMenu #bbsLi.selected,#topbarRightMenu #ngLi.selected{display:none;}"; var sidemenu = "ul#sidemenu li{border:solid 1px; width:100px;} ul#sidemenu li.selected{color:red;}"; var contextMenuStyle = "#contextMenu{background : #d4d0c8;color : #000000;display : none;position : absolute;list-style : none; padding-left : 0px;box-shadow : 1px 1px;}"; var contextItemStyle = "#contextMenu li{padding : 3px;}#contextMenu li:hover{background : #0a246a;color : #ffffff;}"; var styleTag = ""; $("link").last().after($(styleTag)); }; var counterAutopagerize = function(){ $(document).bind("AutoPagerize_DOMNodeInserted", function(){ $("[class^='autopagerize'] , dl:not(#bbsmain) , #autopagerize_message_bar").remove(); }); }; //以下main var main = function(ana){ initConfig(["useNG", "tooltipOnDicPage", "showIDTooltip", "showResAnchorTooltip", "showResNumberTooltip", "showResHandleTooltip", "classificationID", "classificationResNumber"]); insertStyle(); $(".st-bbs-contents dl").attr("id", "bbsmain"); $(".border").remove(); if(ana === undefined){ var urlAnalyzer = new UrlAnalyzer(); }else{ var urlAnalyzer = ana; } var manager = new ManagerToReadBbs(urlAnalyzer.getBBSURLs($(".st-bbs-contents .pager").eq(0)), urlAnalyzer); manager.initSmallBbs(); counterAutopagerize(); //if(!urlAnalyzer.inArticlePage()){ // manager.scrollLoader(); //} }; //-----test用----- var c = net_threeaster_NicoDicBBSViewer; c.removeUselessLines = removeUselessLines; c.Res = Res; c.ManagerToReadBbs = ManagerToReadBbs; c.initConfig = initConfig; c.insertStyle = insertStyle; c.UrlAnalyzer = UrlAnalyzer; c.ResCollection = ResCollection; c.NgOperator = NgOperator; c.MenuOperator = MenuOperator; c.main = main; //-----main実行/テスト時には途中で止まる----- if(typeof GM_getValue === 'function'){ main(); } })(jQuery);