Next_all
Member
thím cứ kéo đến cuối page 1 thì nó sẽ chèn nội dung page 2 vào cuối, mà không phải click hãy gõ phím nào cả. Chỉ việc lăn chuột như luớt Facebook thôi
-----
Ngồi đọc những tin tức kiểu theard covid news ở Điểm báo, mà next page mỏi cả tay. Tôi ngồi viết cái script định dùng một mình, nhưng nghĩ đến những nguời khổ như tôi, nên tôi share. Mong các thím đóng góp tính năng, rảnh thì tôi sẽ update thêm.
Code tôi để bên duới, mọi nguời copy rồi dán vào tampermonkey. Do mới viết nên tôi chưa làm link cho các thím cài đặt đuợc.
tôi update phiên bản mới = cách ghi đè luôn đoạn code bên duới nhé
----
-----
Ngồi đọc những tin tức kiểu theard covid news ở Điểm báo, mà next page mỏi cả tay. Tôi ngồi viết cái script định dùng một mình, nhưng nghĩ đến những nguời khổ như tôi, nên tôi share. Mong các thím đóng góp tính năng, rảnh thì tôi sẽ update thêm.
Code tôi để bên duới, mọi nguời copy rồi dán vào tampermonkey. Do mới viết nên tôi chưa làm link cho các thím cài đặt đuợc.
tôi update phiên bản mới = cách ghi đè luôn đoạn code bên duới nhé
----
JavaScript:
// ==UserScript==
// @name voz.loader
// @version 1.0.3
// @match *://voz.vn/t/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @grant GM.addStyle
// @run-at document-start
// ==/UserScript==
const SELECTOR_LOAD_MORE = 'article';
const BACKGROUND_COLOR_ROW = '#f0e5ca';
const FONT_SIZE = '14';
const $ = window.$;
GM.addStyle(`
.p-body-inner {
max-width: 100%!important;
}
.message-inner {
background: ${BACKGROUND_COLOR_ROW};
}
.message-cell--main p, .message-cell--main div, .message-cell--main span, .message-cell--main a{
font-family: Arial;
font-size: ${FONT_SIZE}px!important;
}
.gamau, .google-auto-placed, [data-adsense-src] { display: none; }
`);
class Vloader {
constructor() {
this.isBusy = false;
this.removeAds();
$(window).scroll(() => {
if ($(window).scrollTop() <= $(SELECTOR_LOAD_MORE).first().offset().top + $(SELECTOR_LOAD_MORE).first().height()) {
this.loadPrevPage();
this.isBusy = true;
} else if ($(window).scrollTop() + $(window).height() >= $(SELECTOR_LOAD_MORE).last().offset().top + $(SELECTOR_LOAD_MORE).last().height() ) {
this.loadNextPage();
this.isBusy = true;
}
});
}
get prevPageHref() { return $('.pageNav-jump--prev').first().attr('href'); }
get nextPageHref() { return $('.pageNav-jump--next').last().attr('href'); }
get prevPageContent() {
if(!this.prevPageHref) {
return null;
}
return new Promise((resolve, reject) => {
$.get(this.prevPageHref, (data) => {
resolve($(data));
});
})
}
get nextPageContent() {
if(!this.nextPageHref) {
return null;
}
return new Promise((resolve, reject) => {
$.get(this.nextPageHref, (data) => {
resolve($(data));
});
})
}
removeAds() {
setTimeout(() => {
$('.gamau, .google-auto-placed, [data-adsense-src]').remove();
}, 1000);
}
loadPrevPage() {
if(this.isBusy) {
return;
}
if(!this.prevPageContent) {
return;
}
this.prevPageContent.then(d => {
window.history.pushState({}, d.find('title').text(), this.prevPageHref);
$('.pageNav-main').replaceWith(d.find('.pageNav-main').first());
$('.pageNav-jump--prev').replaceWith(d.find('.pageNav-jump--prev').first());
$('[data-type="post"] > .block-container').prepend(d.find('.lbContainer').hide().fadeIn(2000).html());
this.removeAds();
this.isBusy = false;
});
}
loadNextPage() {
if(this.isBusy) {
return;
}
if(!this.nextPageContent) {
return;
}
this.nextPageContent.then(d => {
window.history.pushState({}, d.find('title').text(), this.nextPageHref);
$('.pageNav-main').replaceWith(d.find('.pageNav-main').first());
$('.pageNav-jump--next').replaceWith(d.find('.pageNav-jump--next').first());
$('[data-type="post"] > .block-container').append(d.find('.lbContainer').hide().fadeIn(2000).html());
this.removeAds();
this.isBusy = false;
});
}
}
new Vloader();
Last edited: