Share code load more page voz trên tampermonkey

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é :D
----

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:
Giải thích rõ hơn đi thím

Cài sao vậy? Dùng cho win nào, browser nào cũng đc hả? Cuộn chuột là f33 tự load sang trang sau hở?
 
Giải thích rõ hơn đi thím

Cài sao vậy? Dùng cho win nào, browser nào cũng đc hả? Cuộn chuột là f33 tự load sang trang sau hở?
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
 
xài được rồi nhưng bị đổi màu vàng khè vậy fen
ZBtnCkk.png
 

Attachments

  • 1613844993972.png
    1613844993972.png
    531.3 KB · Views: 74
Muốn paste vào visual studio để xem code Javascript. Nhưng nó ra 1 hàng dài chứ ko xuống dòng.
Làm.sao để xem như lúc thím gõ vậy thím:adore:
 
ông code thêm đoạn croll từ bottom lên top nó quay về page 1 đi

Nếu mà vào page mà click luôn vào page 5 thì ko scroll về được page 1. Nếu croll down từ page 1->5->1 thì được
 
Back
Top