Created
August 25, 2019 07:57
-
-
Save azuse/ec025812b13a320c0ce53e9b143c6bac to your computer and use it in GitHub Desktop.
Loadmore script for bangumi timeline
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name 将班固米首页的下一页改为加载更多 | |
// @namespace http://tampermonkey.net/ | |
// @version 0.1 | |
// @description try to take over the world! | |
// @author azuse | |
// @match http://bgm.tv/ | |
// @match http://bangumi.tv/ | |
// @match https://bgm.tv/timeline | |
// @match https://bangumi.tv/timeline | |
// @match https://bgm.tv/ | |
// @match https://bangumi.tv/ | |
// @grant none | |
// ==/UserScript== | |
var static_page = 2; | |
(function () { | |
// 设置监听timeline的wrapper div,当timeline显示标签切换时,重新渲染“加载更多”按钮 | |
let timelineWrapper = $("#columnTimelineInnerWrapper")[0] | |
let configForOb = { | |
attributes: true, | |
childList: true, | |
subtree: true | |
} | |
const mutationCallbackOnTimeline = (mutationList) => { | |
if($(".loadmoreBtn").length > 0) | |
return | |
addLoadMoreBtn() | |
} | |
let TimelineObserver = new MutationObserver(mutationCallbackOnTimeline); | |
// 先执行一次修改 | |
addLoadMoreBtn() | |
// 启动监听 | |
TimelineObserver.observe(timelineWrapper, configForOb) | |
function addLoadMoreBtn() { | |
static_page = 2 //重置页数 | |
// 获得正在加载的链接(动态all 吐槽say 等) | |
if($(".page_inner a").length == 0){ | |
url = "timeline?type=all" | |
// 没有 使用默认链接 | |
} | |
else{ | |
url = $(".page_inner a")[0].href | |
url = url.slice(0,url.indexOf("&page=2")) | |
} | |
var a = document.createElement("a"); | |
a.className = "p loadmoreBtn"; | |
a.innerHTML = "加载更多"; | |
a.style.cursor = "pointer"; | |
a.onclick = function () { | |
$.ajax({ | |
type: "GET", | |
url: url + "&page=" + static_page + "&ajax=1", | |
success: function (html) { | |
var htmlKai = $(html).html(); | |
var htmlNew = $(html).children("div#timeline"); | |
var newdate = $(html).children("h4.Header"); | |
var newul = $(html).children("ul"); | |
for (var i in newdate) { | |
if (i == "length") break; | |
if ($("#timeline").text().indexOf($(newdate)[i].innerHTML) != -1) { | |
$("#tmlPager").before($(newul)[i].outerHTML); | |
} else { | |
$("#tmlPager").before($(newdate)[i].outerHTML + $(newul)[i].outerHTML); | |
} | |
} | |
// if($("#timeline").text().indexOf($(newdate)[0].innerHTML)){ | |
// $("#tmlPager")[0].previousElementSibling.innerHTML = $("#tmlPager")[0].previousElementSibling.innerHTML + $(html).children("ul").html(); | |
// } | |
// else{ | |
// $("#tmlPager")[0].previousElementSibling.innerHTML = $("#tmlPager")[0].previousElementSibling.innerHTML + $(html).children("*").html(); | |
// } | |
static_page++; | |
//$content.html(html); | |
chiiLib.tml.prepareAjax(); | |
}, | |
error: function (html) { | |
$("#robot_speech_js").html(AJAXtip['error']); | |
$("#robot").animate({ | |
opacity: 1 | |
}, 1000).fadeOut(500); | |
} | |
}); | |
}; | |
if ($(".page_inner").length > 0) { // 没有page_inner就不添加 | |
$(".page_inner")[0].innerHTML = ""; | |
$(".page_inner")[0].appendChild(a); | |
} | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment