Greasy Fork is available in English.

Pagetual

Perpetual pages - powerful auto-pager script. Auto fetching next paginated web pages and inserting into current page for infinite scroll. Support thousands of web sites without any rule.

< Feedback on Pagetual

Review: قالتىس - قوليازما ئىشلەيدۇ

§
يوللانغان ۋاقتى: 2024-05-09

這網站規則是我寫的,網站上面的按鈕會動態加載影片清單,例如點了最高收藏,永頁機如果已經有翻頁,那麼翻出來的部份不會根據動態加載重新排序成最高收藏,只能刷頁面重新加載,那麼之後翻的才是按最後收藏的排序。

§
يوللانغان ۋاقتى: 2024-05-09

不過這規則也算失效了,以前後面翻出來還會按順序,現在不會了,不管哪個分類翻出來的順序都一樣,規則看作者要不要改寫。

§
يوللانغان ۋاقتى: 2024-05-10

感谢大佬的规则,我记得以前好像能用来着,但是感觉这个网站的规则不太好写

§
يوللانغان ۋاقتى: 2024-05-10

我自己也尝试过,还是感觉太复杂了,第二页翻出来的不是具体分类就放弃了

hoothinئاپتور
§
يوللانغان ۋاقتى: 2024-05-11
{
    "name": "Jable",
    "author": "skofkyo",
    "example": "https://jable.tv/new-release/",
    "url": "^https?://(jable|fs1)\\.(tv|app)/",
    "nextLinkByJs": "let checked=doc.querySelector('li.active>a');let blockId=checked.dataset.blockId;let sortBy=checked.dataset.parameters?.replace('sort_by:','');let page=doc.querySelector('.page-link.active').innerText;return `?mode=async&function=get_block&block_id=${blockId}&sort_by=${sortBy}&from=${parseInt(page)+1}`;",
    "pageElement": "section>.row",
    "replaceElement": ".pagination",
    "action": 0,
    "refreshByClick": "[data-action='ajax']"
}

用 nextLinkByJs 替換 nextLink 生成下一頁鏈接,然後用 refreshByClick 來指定按鈕點擊后重新初始化就行了。

我就看了熱門分類,可能還不完善,就不提交到規則庫了。等 skofkyo 完善后合并吧。

§
يوللانغان ۋاقتى: 2024-05-11

好久沒碰永頁機規則了,自己常逛的網站都使用正常,有空再把寫過的規則全部檢查一遍。
比起Jable我比較愛用supjav 哈哈

§
يوللانغان ۋاقتى: 2024-05-14
تەھرىرلەنگەن ۋاقتى: 2024-05-14

整理規則到這網站了

    {
        "name": "Jable",
        "example": "https://jable.tv/new-release/",
        "url": "^https?://(jable\\.tv|fs1\\.app)/",
        "action": 0,
        "refreshByClick": "[data-action='ajax']",
        "nextLinkByJs": "let checked=doc.querySelector('.container li.active>a,li:has(>.active)+li>a');let blockId=checked.dataset.blockId;let parameters=checked.dataset.parameters;let[sortBy,from]=parameters.split(';');sortBy=sortBy.replace('sort_by:','');from=from.replace('from:','');let searchParams=new URLSearchParams({mode:'async',function:'get_block',block_id:blockId,sort_by:sortBy,from:from});return'?'+searchParams;",
        "pageElement": "section>.row",
        "replaceElement": ".pagination",
        "pageAction": "let ps=[...document.querySelectorAll('section>.row')];let last=ps.at(-1);last.querySelectorAll('.img-box>a').forEach(a=>{a.onmouseenter=e=>{let v=document.createElement('video');let img=a.querySelector('img');let src=img.dataset.preview;$(v).attr({loop:'',autoplay:'',src:src});$(v).css({position:'absolute',left:'0',top:'0',width:img.offsetWidth+'px',height:img.offsetHeight+'px',background:'#000000',visibility:'visible'});a.appendChild(v)};a.onmouseleave=e=>{a.querySelector('video').remove()}})",
        "css": ".pagetual_pageBar{margin-top:0px!important;margin-bottom:20px!important}"
    }

下一頁的API URL

let checked = doc.querySelector('.container li.active>a,li:has(>.active)+li>a');
let blockId = checked.dataset.blockId;
let parameters = checked.dataset.parameters;
let [sortBy, from] = parameters.split(';');
sortBy = sortBy.replace('sort_by:', '');
from = from.replace('from:', '');
let searchParams = new URLSearchParams({
    mode: 'async',
    function: 'get_block',
    block_id: blockId,
    sort_by: sortBy,
    from: from
});
return '?' + searchParams;

讓下一頁也能有影片預覽事件

let ps = [...document.querySelectorAll('section>.row')];
let last = ps.at(-1);
last.querySelectorAll('.img-box>a').forEach(a => {
    a.onmouseenter = e => {
        let v = document.createElement('video');
        let img = a.querySelector('img');
        let src = img.dataset.preview;
        $(v).attr({
            loop: '',
            autoplay: '',
            src: src
        });
        $(v).css({
            position: 'absolute',
            left: '0',
            top: '0',
            width: img.offsetWidth + 'px',
            height: img.offsetHeight + 'px',
            background: '#000000',
            visibility: 'visible'
        });
        a.appendChild(v)
    };
    a.onmouseleave = e => {
        a.querySelector('video').remove()
    }
})
§
يوللانغان ۋاقتى: 2024-05-15

我丢,感谢大佬们的规则贡献,本来想自己试试还是写不出来复杂的网站规则,还是照搬得了。我还是只能写简单的网站,jable真的很好用哈哈哈

جاۋاب قايتۇرۇش

جاۋاب قايتۇرۇش ئۈچۈن كىرىش.