hoothin / UserScripts

Greasemonkey scripts ( Pagetual / Picviewer CE+ / DownloadAllContent ) 油猴脚本集 ユーザースクリプト集
https://greasyfork.org/users/8227-hoothin
2.98k stars 512 forks source link

Need custom rules for those sites (NSFW) #135

Open Dean-Corso opened 2 years ago

Dean-Corso commented 2 years ago

Hi hoothin,

I found few sites where your script isn't working for 100% and I wanted to create some custom rules to make them work right. Maybe you can check those sites and create some custom rules to check out what I did miss to add.

Webpage 1: https://femdomup.net/lastnews/ So this website is using video thumbnail previews and the previews aren't working anymore starting from page 2. I tried to make a custom rule and adding the command action": 2 but the animations are not playing. My rule for this site is..

    {
        "name": "Femdom",
        "url": "^https://femdomup\\.net",
        "pageElement": "BODY > DIV.wrapper > DIV.content > DIV.cat-shortstory >*",
        "action": 2
    }

...but its not working and I would like to know why. Just can make it work when I remove the last pageElement "DIV.cat-shortstory" to go more out like this "pageElement": "BODY > DIV.wrapper > DIV.content > main >*", and then it works to see the video previews but the pages itself are looking no more correctly etc pretty bad. Just wanna know why and how to make it right.

Webpage 2: https://joi-me.com/lastnews/ This webpage is not showing correctly from page 2. The content of every single article is shown among themselves and no more side by side. Not sure what custom rule to make in this case.

Webpage 3: https://mixfemdomcc.com/lastnews/ Here almost same problem like on webpage 2, the gray-block classes for each entry are just showing the half image and no more complete from page 2.

Maybe you can check those few webpages out and create some working custom rules I can add and try. Maybe you could explain them a little just to know the reasons and how to make it better next time for myself. Thank you.

Bitter-Man commented 1 year ago

Fixed now, you can try.

Hi,could you add these? https://beta.kemono.party " https://kemono.party" is OK,but the beta version is no effect. { name:"beta.kemono.party", url:/^https:\/\/beta.kemono.party\/.*\/post\//, getImage:function(a){ if(a) return a.href; } } Test Webpagehttps://beta.kemono.party/fanbox/user/2934689/post/1101483 Thank you

hoothin commented 1 year ago

Fixed now, you can try.

Hi,could you add these? https://beta.kemono.party " https://kemono.party" is OK,but the beta version is no effect. { name:"beta.kemono.party", url:/^https://beta.kemono.party/.*/post//, getImage:function(a){ if(a) return a.href; } } Test Webpagehttps://beta.kemono.party/fanbox/user/2934689/post/1101483 Thank you

{
  name:"beta.kemono.party",
  url:/^https:\/\/beta\.kemono\.party\/.*\/post\//,
  getImage:function(a){
    if(a) return a.href;
  }
}
Bitter-Man commented 1 year ago

Fixed now, you can try.

Hi,could you add these? https://beta.kemono.party " https://kemono.party" is OK,but the beta version is no effect. { name:"beta.kemono.party", url:/^https://beta.kemono.party/.*/post//, getImage:function(a){ if(a) return a.href; } } Test Webpagehttps://beta.kemono.party/fanbox/user/2934689/post/1101483 Thank you

{
  name:"beta.kemono.party",
  url:/^https:\/\/beta\.kemono\.party\/.*\/post\//,
  getImage:function(a){
    if(a) return a.href;
  }
}

Good Job! Thank you so much!

Dean-Corso commented 1 year ago

Hi @hoothin,

just wanna say that I did update your script today to latest version "1.9.32.14" and before I had still used some older script "1.9.30.." and the latest version doesn't work anymore for some "many" sites which was working before. For some sites nothing happens for other sites they are not shown any thumbnails anymore (all empty after page X bar) and some other sites showing just the half pages (randomly) from the middle and not from top. Somehow its now working pretty bad. Just wanted to tell you that now so that you could check out what the problem could be (changes you did etc). I will check this out some more and post later details about webpages & rules etc.

hoothin commented 1 year ago

Can you give me an example link?

Dean-Corso commented 1 year ago

Hi again,

so I did checked some versions of your script to find the first one which makes trouble. Example Page: CheckMe

1.9.31      <-- works
1.9.31.10   <-- works
1.9.31.20   <-- works
1.9.31.25   <-- works
1.9.31.26   <-- works
1.9.31.28   <-- works LAST ONE
1.9.31.29   <-- works NOT
1.9.31.30   <-- works NOT

You can see the last working script version with that site is "1.9.31.28" and starting from the next higher release it fails till latest version from today "1.9.32.15". Something you did change to break it. Even when I try to use my custom rule it fails what is strange (working on older versions). Just check this out and tell me whether you could find the reason & fix it to check out your latest update later. Thank you.

PS: I think when you fix this problem then some other sites I did test & failed will work again too (I think so).

hoothin commented 1 year ago

Thank you, it will save much time for me;). I'll check it.

hoothin commented 1 year ago

I have made some patch, can you now help me to check other sites which failed to work?

Dean-Corso commented 1 year ago

Hey @hoothin,

thanks for the update "1.9.32.18" I have test yesterday with many sites and now it works again pretty nice. 😃 I don't see any problems anymore at the moment. I will send another feedback when getting new trouble with any webpages later etc. Just keep this topic / thread open for future issues I can post here for you.

One more thing / webpage I found your script does load empty pages in default mode (without any custom rule). Example Page: CheckMe In the earlier versions of your script it did load the pages correctly and I didn't needed to create any custom rule. Now I'am using this rule to make it work.

Custom Rule (click to expand) ``` { "name": "xstarshub", "url": "^https?://xstarshub\\.com/", "pageElement": "div.posts-list", "action": "1" } ```

Now it works but also not very good because the elements on right side getting loaded again and again for every new page. Maybe you can have a look and create any better custom rule for this. Thank you.

I have made some patch, can you now help me to check other sites which failed to work?

What other sites should I check? Otherwise I will report problems with any webpages to you if I find them.

hoothin commented 1 year ago

Thank you. About xstarshub, try this.

    {
        "name": "xstarshub",
        "url": "^https?://xstarshub\\.com/",
        "pageElement": "div.posts-list>article",
        "action": "1"
    }
Dean-Corso commented 1 year ago

Hi @hoothin,

thanks. Now it works better. 😄 Just wanna send you another problem I found with this webpage...Link so anyhow it does loop the pages again and again in this video area. Its showing 7 pages in your script bar and then it loops again from page 2 till page 7 (loading & loading without to stop). I only get this problem when using Brave browser and in Firefox it works normally. I also see 2 different debug infos in console window...

Console Log (click to expand) ``` Firefox 【Pagetual v.1.9.32.18】 Next link: 【Pagetual v.1.9.32.18】 Page element: body > div.wrapper:nth-of-type(4) > div.container:nth-of-type(2) > div.claimed.profileVideos:nth-of-type(10) > div.profileContentLeft:nth-of-type(1) > section.clear-both > div.sectionWrapper Brave 【Pagetual v.1.9.32.18】 Match rule: Objectaction: 0from: 1name: "Pornhub.com"nextLink: "//li[contains(concat(\" \", normalize-space(@class), \" \"), \" page_next \")]/a"pageElement: "id(\"videoCategory\") | \r\nid(\"incategoryVideos\") | \r\nid(\"videoSearchResult\") | \r\nid(\"mostRecentVideosSection\") | \r\nid(\"photosAlbumsSection\") | \r\nid(\"claimedRecentVideoSection\") | \r\n//div[@class='recommendedVideosContainer']/ul | \r\nid(\"popularPornstars\") | \r\n//ul[contains(concat(' ', normalize-space(@class), ' '), ' streamateContent ')] | \r\nid('filterChannelsSection') | \r\nid('playListSection')"updatedAt: "2020-07-17T16:58:27+09:00"url: "^https://[^.]+\\.pornhub\\.com/(?!view_video\\.php).+"[[Prototype]]: Object 【Pagetual v.1.9.32.18】 Next link: ​…​​ ```

So it seems that your script does work with Firefox by itself and in Brave its using a found rule wedata database (Match rule info). Somehow this makes trouble. Also, there is a problem with the counter on the TamperMonkey icon so in case of Brave its NOT counting forward when a page was loaded and it keeps showing just value 1 all the time with this webpage. On the other side the Firefox version does fail loading pages in normal or category view (works in Brave). Look here...

TestPage ...in case of Firefox nothing happens when you scroll down. When you now step forward to next page manually then it works again to load all other pages durring your scrolling and just the first page failed here. In Brave it works correctly but the counter on TamperMonkey icon keeps showing value 1!=? Not sure what the problem is but they act different so maybe you can have a look on it to check this out and make them both work same later. Thank you.

hoothin commented 1 year ago

Just add "not(disabled)" for wedata rule.

    {
        "name": "Pornhub.com",
        "action": 0,
        "url": "^https://[^.]+\\.pornhub\\.com/(?!view_video\\.php).+",
        "pageElement": "id(\"videoCategory\") | \r\nid(\"incategoryVideos\") | \r\nid(\"videoSearchResult\") | \r\nid(\"mostRecentVideosSection\") | \r\nid(\"photosAlbumsSection\") | \r\nid(\"claimedRecentVideoSection\") | \r\n//div[@class='recommendedVideosContainer']/ul | \r\nid(\"popularPornstars\") | \r\n//ul[contains(concat(' ', normalize-space(@class), ' '), ' streamateContent ')] | \r\nid('filterChannelsSection') | \r\nid('playListSection')",
        "nextLink": "//li[contains(concat(\" \", normalize-space(@class), \" \"), \" page_next \")][not(contains(@class, \"disabled\"))]/a"
    }
Dean-Corso commented 1 year ago

Ok thank you for that one. 😃 Now it works better without to loop anymore. So I found another webpage I don't get it work correctly. Check this one Webpage ...so in default mode it works showing all correctly but without thumnail video animations. Now I tried to create a rule which works showing all nice and good but without animation anymore.

Custom Rule (click to expand) ``` { "name": "New Videos", "url": "^https://watchporn\\.to", "pageElement": "div.list-videos > .item", "action": 2 } ```

How to make the animation work too in this case?

hoothin commented 1 year ago

Yeah, the rule seems good besides the selector has a mistaken. > means direct child but it need grandson here.

    {
        "name": "New Videos",
        "url": "^https://watchporn\\.to",
        "pageElement": "div.list-videos .item",
        "action": 2
    }
Dean-Corso commented 1 year ago

Hi @hoothin,

ah ok good to know that. Thanks. So I tried using your the rule without ">" and now it works to show all animations but the now its also again showing webpage TOP (header) elements on each page and if you do scroll few pages down then you see its not showing all thumbnails correctly anymore (last line are just showing half thumbnail images). Maybe some overlapping problem etc. I wanted to prevent this and was using that ">" sign in my rule so that all items are showing correctly and without the webpage top on each new page you know, but then the animations aren't working. Is there a better way to make both work? Maybe by adding some css to hide the header parts etc? Can you check this out a little and create a full working rule? I was playing around by adding some css styles trying to hide 3 elements...

Custom Rule (click to expand) ``` { "name": "New Videos", "url": "^https://watchporn\\.to", "pageElement": "div.list-videos .item", "css": ".header {display: none} nav {display: none} .headline {display: none}", "action": 2 } ```

...and now all 3 top elements are hidden and the overlapping problem is gone and all thumbs are showing correctly and animations works too but the problem now is that my custom css commands is already used from the first page and starting from the second page. I would like to keep the first page un-changed to keep the top header elements like search bar etc and just removing my custom css from page 2. How to manage this?

hoothin commented 1 year ago

The rule with '>' won't work. So actually pagetual is working without any rule under that situation. Just update pagetual to 1.9.32.23 and you can make it work.

Dean-Corso commented 1 year ago

Hello @hoothin,

how is going? So after a long while I'am back now and got some little requests I would like to ask you to add them to improve your great script.

So your script has a wonderfull function to jump from the current page into the NEXT or PREV page via 2 arrow buttons I can see on the middle of your script page BAR. So this is one of the functions I'am using very offten but there is a problem. I just can click on the two arrow button from the script bar itself what means I have to bring the bar each time in the visible area (need to scroll back or forward) and then I need to move the mouse pointer on the bar to get the two arrows to see and click on them. So for me its a detour when you have to do it very very offten to check many pages. Now, in the default script options / config I also found this option called "Press left arrow key to scroll prev and right arrow key to scroll next" which I also enabled and tried but this function is NOT working same like a mouse click on the arrow button/s itself. When using the arrow left/right keys on keyboard then its NOT jumping to the page top/bottom so its just jumping a little only what mean I have to press the keyboard arrow few times to reach the page top or end of that one page you know. I think normally the arrow keys on keyboard left/right should work same like a mouse click on the arrow buttons on the script bar right? Maybe you can check and fix that to make the arrow keys on keyboard working same like arrow buttons on script bar.

Now my idea to improve that PREV / NEXT page jumps. I wanna ask you whether you could ADD a new function (enable extra) to make two Arrow Buttons visible on a static location inside of the browser window. So in my case I would like to prefer and set the two arrow buttons in middle and right side of the browser window next to the vertical browser scroller. Just imagine, you do place there the two arrow buttons with a larger size (maybe 50x50 for one button) and also transparent (50% etc). Now you see the buttons all the time and they don't move. Now imagine you wanna check many pages (40 or 100 etc) which all have a different page length (short page with less infos or large page with tons of images or whatever) and now you start checking those pages by scrolling a little in the page and sometimes you see already that this page/post is just trash or uninteresting and now you want just skip that page and jumping to tne next page and right in that moment it would be a good idea to have those 2 new arrow buttons in the browser window to use them to jump to the next or prev page without to scroll back to get the script bar to see and pressing the arrow button from there you know. So with my new idea the user would have 2 another arrow buttons on the same browser area (always) and the user can also just keep the mouse on that arrow button/s area and using just the mouse wheel to scroll in the page a little and then you can press the arrow button to jump to next page etc without to move the mouse anymore very much you know. I tried to make a image so just look.... Arrow_2022-12-27_212833 So on the right side of my browser you can see now 2 arrow buttons and they should stay there all the time (static place). Now I could just move my mouse pointer on the arrow down button and can keep scrolling in the current page up/down etc and just pressing the arrow key if I want to jump to next page etc. Thats really pretty comfortable don't you think? So I would like to wish such 2 new arrow buttons on a static area to prevent moving the mouse each time on the script bar itself and trying to hit the arrow buttons there you know. So it would be super great if you could add another function for this to set thos 2 arrow buttons for users like me who want that feature etc. Maybe you can also just make those 2 new arrow buttons visiable when the user does move the mouse on that area or so or otherwise just keep showing them all the time with a transparent value of 50% or so etc. What do you think @hoothin? So I really love that idea and I hope you will love it too. 😃

hoothin commented 1 year ago

Yes, it's a great idea. So I made a sidebar controller for you. Check the "Display the paging control bar in the sidebar" on setting page and try it.

Dean-Corso commented 1 year ago

Hello @hoothin,

Happy New Year and nice to hear that you like the idea. 😃 Thanks for the script update and adding the new function to display that new sidebar. Looks cool on the first view. I tried it out a little and found some issues you maybe need to fix.

1.) If you double-click (too fast maybe) on any button on that new sidebar then the DISABLE / ENABLE function gets triggerd which is "Double-click on the blank space to pause" I have enabled in my settings. Just as info maybe no must have to fix.

2.) I see you did not set the new sidebar into the front of the screen what means that other page elements to overlap your new sidebar and then you can not use it anymore. Just add the z-index 9998 flag to set it in front so I tried it a little in browser itself. I also do customize the size / place of the new sidebar to make it bigger a little.

3.) Could you also let change the color of the new sidebar when I press the jin jang button in the middle to disable / enable it? Same like on the pagebar when I press the bar itself which gets darker. Would be nice to have it also on that new bar to see quickly if I have it enabled or disabled (pause) etc you know.

4.) The new sidebar is not always showing correctly and on some webpages the arrow elements (top, pre, next, bottom) are not visible only when you move with the mouse over them. Some background color issue. Also the entire #pagetual-sideController is smaller in this case.

5.) IMPORTANT: There is still a problem when using the "pagetual-sideController-next" button. So the problem is that it only jumps to lower next page if this next page is already loaded and if not then it jumps just to next visible screen part like 3 times till the end and then the next page gets loaded. I would like to prefer to jump directly to next page (does it when page is already loaded) and if this is not there already then it should also jump to the end of the current page so I don't wanna do some middle page jumps when pressing the NEXT arrow button you know. I would like to see the page bar with the page number X always on top when I press the NEXT button and in case if the next page is not there yet then your script just could wait a moment and jumping then to the next page = page bar with page X on top is shown. Normally I as user see already very quick whether an post is interesting or not and in case of NOT then I want to skip checking that current page and wanna jump to next one without to jump go on inside of the same page even when the next page isn't loaded yet. Sorry, maybe I'am a little bit too specific. 😃

AddOn question: Some webpages are pretty slow to load their pages and in this case it would be nice if your script could PRE-Load X webpages. Normally I thought your script would do this already if I set this option "Preload next page for speeding up" I have enabled and the scirpt does it when I reach the lower aera +/- of a webpage. How to make it work / telling your script that it should PRE-LOAD X (maybe 2 or 3) pages when it loads the first page without to wait any longer. Some websites are really slow and I would like to get an smooth page jumping without to wait a longer while you know. In this case it would be nice to have a PRE-PRE-Page Loading function. Do you know what I mean?

Example: When I call a webpage which has many sites I want to check and I do check it quick just by quick scrolling or using the NEXT arrow button/s on scriptbar / sidebar then the webpages must also getting loaded quickly before already and not just when I scroll close to the end of a page. Maybe you can do anything about that and adding a new extra function to create an super-pre load option or something like that. I also tried using that option "Turn pages immediately after opening" to enable it and entering 2 and 4 into but this also dosen't preload 2 or 4 pages and I still need to wait.

At the moment I created this new little rule in uBlock Origin to bring it in front and make it transparent to get the arrow controls also to see on some webpages. *###pagetual-sideController:style(z-index: 9998 !important;background: none !important)

Alright, thats all for the moment. Thanks again for that new update / feature @hoothin and keep going to make your script even better Ok. 👍

hoothin commented 1 year ago

If "Turn pages immediately after opening" & "Amount for preload pages" didn't work, that means something limit the loading rate on the site. Maybe you can change the action in custom rule for that site from 1 to 0.

Dean-Corso commented 1 year ago

Hi @hoothin,

thanks for the new update. There is still a problem with the sizes of the sidebar control on different webpages. For some sites the sidebar control is shown smaller and for some they is shown wider and almost outside of the browser. Just have a look here.... ClickMe ...

About the "Turn pages immediately after opening" option. I think I found the problem. So I'am using this option with a value of 4 and when I loads a new webpage then your scirpt will also load 4 pages at once & successively = OK but this only happens one time only. After this the next comming webpages are just loaded when I scroll into the next page and then just the next page gets loaded if I reach almost the end of this page. So I would like to have the same option "Turn pages immediately after opening" what also does load X next pages continueously.

Example: I'am using the otpion "Turn pages immediately after opening" with value 4. Now it should also load the next 4 pages if I reach almost the end of the last loaded page. Do you know what I mean? Not sure whether this is doable with your script.

hoothin commented 1 year ago

Input a number in "Turn the next page when it's less than X times page height from the footer", for example: 5. If you want to make effect only on target site, give a look at "rate" prop in custom rule.

Dean-Corso commented 1 year ago

Hi @hoothin,

thanks for the new update. Sidebar looks same now on that webpage.

So I tried using both options "Turn pages immediately after opening" - "Amount for preload pages" & "Preload next page for speeding up" - "Turn the next page when it's less than X times page height from the footer" with value 3 and I think it seems to work to load pages faster now. 😃 (I think so).

One more small little thing about the new sidebar. When you press on the button for bottom then the script bar in the middle gets in pause state / dark color but the sidebar is still in other color for active state (not inverted). Also when I click the pause state on script bar then sidebar is still showing active state. Maybe you can check this and sync it so that both to update their state modus / color right. Just as info. Thank you.

hoothin commented 1 year ago

It's fixed, thanks.

Dean-Corso commented 1 year ago

Thanks, but its just fixed when clicking on "pagetual-sideController-move" button. If I press on the middle script bar "pagetual_pageBar2" then its not working and the sidebar keeps in wrong state. Just as info for you to know.

Press on: pagetual-sideController-move works to change state of pagetual_pageBar2 Press on: pagetual_pageBar2 does not work to change the state of pagetual-sideController

hoothin commented 1 year ago

Yes, it works wrong in that situation. Fixed again.

Dean-Corso commented 1 year ago

Hey @hoothin,

thanks again for the update & fix. 😃

So I have another new question about using your Pagetual script. On some webpages your script does loop the pages and at the end / last page it should stop but it loops and is showing the first page I did call again till last and go on in endless loop. How to prevent that? Just try this link and scroll down to the end and then you will see it loops again & again. ClickMe

The next thing I found out is this. Some websites using a page counter / button / next button limit of X pages and there is no button on that webpage you can press to visit the next pages but they are there and you only can visit them when you change the site / page counter in the URL bar manually. When the webpage has a showing page limit of 40 pages then you need to enter 41, 43 or higher page values to call those pages. Somehow this is pretty stupid done by some webpages and no idea why they have a clickkable page limit. So my question in this case is whether you could add a new option in your script user settings to load pages go on also if there are no more pages to see etc? Example: Look on this webpage which only shows 80 pages.... PageLimit ...and the next button below is disabled for the user to go back more in time. Only thing you can do is using the URL bar itself and entering higher page counts manually like this.... HigherPageManuallyCall ...also in this case the pages are there but only to call manually via URL bar. Is there a way using your script with any custom rule to call also those hidden pages automatically or is it possible that you add another otpion to make it work etc? Maybe you can tell me and or so something about it. Thanks.

hoothin commented 1 year ago

The first page is looping by itself. You can click the "next>" and check.

This rule is for stopping pager when next link is disabled.

    {
        "name": "SpankBang",
        "example": "https://jp.spankbang.com/trending_videos/",
        "url": "^https?://([a-z]{2}\\.)?spankbang\\.com/(trending_videos|new_videos|category|pornstar|upcoming|most_popular|s)",
        "nextLink": ".next:not(.disabled)>a,a.next",
        "pinUrl": true,
        "pageElement": ".video-list.video-rotate.video-list-with-ads",
        "replaceElement": ".pagination",
        "css": ".pagetual_pageBar+div {margin-top: -5px !important;}"
    }

And this is for auto generating higher page counts.

    {
        "name": "SpankBang",
        "example": "https://jp.spankbang.com/trending_videos/",
        "url": "^https?://([a-z]{2}\\.)?spankbang\\.com/(trending_videos|new_videos|category|pornstar|upcoming|most_popular|s)",
        "nextLinkByUrl": [
            "/(\\d+)/$",
            "/{$1+1}/"
        ],
        "pageElement": ".video-list.video-rotate.video-list-with-ads",
        "replaceElement": ".pagination",
        "css": ".pagetual_pageBar+div {margin-top: -5px !important;}"
    }

Choose one rule which you need to import.

Dean-Corso commented 1 year ago

Hi @hoothin,

just have one more question about that pre-loading function of webpages. The "Turn pages immediately after opening" works pretty good and does load the webpages right aways when I load a new webpage address. Now, the "Preload next page for speeding up" seems still not to work very good yet so somehow it always stucks and the pre-loading of new pages does not run liquid specially for webpages which are already loading very slow.

Example: Use for both options "Turn pages immediately after opening" & "Preload next page for speeding up" the value 3 like I do. Now just load any webpage with pages and you see the first 3 pages getting loaded very good. Now just press on the Yin and Yang symbol on the sidebar on the left side to disable your script. Now press on the sideController-bottom button to reach the end of the webpage. Press now on the Yin and Yang again to enable it (nothing happens yet) and now just move the mouse scroller a little forward and your script does load the next page. Now press again on the Yin and Yang symbol to stop it again and scroll down and you see your script just did load ONE page only. So this is the problem I'am talking about, its just loading one next page and not the next X pages which I did setup in the option called "Preload next page for speeding up" (3) so normally it should load the next 3 pages and not just the next right. Otherwise the value X I can set has no effect when its just loading one page only. I would like to have it so that the function "Preload next page for speeding up" with value X works same like the other function "Turn pages immediately after opening" with value X so this works but why is the other function not working same good? Maybe you can check this again some more @hoothin and make it works so that it will also load the next X pages right away you know. Thank you.

hoothin commented 1 year ago

Yes, the older version only load next after scrolled. Try the latest version.

Dean-Corso commented 1 year ago

Hi again @hoothin,

just need to tell you that your latest scripts are not working anymore as before. Some sites are no more working by your script itself, and also not without making a rule. Also, I see that the menu point “Force to join next page” is not there anymore in latest script versions but in older ones. I tried to check out when it did happen.

1.9.34.36  <- fails
1.9.34.35 <- fails
1.9.34.34 <- fails
1.9.34.33 <- fails
1.9.34.32 <- fails
1.9.34.31   Works
1.9.34.30   Works
1.9.34.26   Works
1.9.34.22   Works

At the moment I'm using version 1.9.34.31 again. I also see that some pages having some issues during loading the next page and I get some hang / wriggle / flickering for a while. It's no more working so nice and fast as before / few weeks ago. Anyway, maybe just check out the version 1.9.34.31 compared to version 1.9.34.32 (latest) what you did change that the auto recognize mode fails etc. Otherwise, I will check those versions again + debug output and send you later some more results about it.

PS: You could explain what the counter on Tampermonkey icon means? In some cases the counter does increase very much even when no page/s was preloaded etc. Normally I thought the counter will just increase the loaded pages, but somehow it must count anything else. Can you tell me this in details what it really means? Thank you.

hoothin commented 1 year ago

I think it's because the links number in the page is larger than 2000. Would you post the url here for me to check?

hoothin commented 1 year ago

The counter on Tampermonkey means how many times scripts run. For example, if a page have 10 iframes, Pagetual will run 1+10=11 times. But don't worry about that, as Pagetual will break it's action when the iframe is small or is not the main content.

Dean-Corso commented 1 year ago

Yes, the page links numbers are much higher than 2000. Did you add a check for that since version 1.9.34.32? If so then you need to remove it to handle webpages with unlimited pages etc. Maybe that's the problem. Try to undo that and I will check this again with your updated script version next time and send you feedback whether it works again or not. Otherwise I have also text another webpage which has also more than 2000 pages and there it works.

PS: I see it's not working to PM on github. 😞

hoothin commented 1 year ago

You can test now.

Dean-Corso commented 1 year ago

Hi @hoothin,

thanks for the update v1.9.34.38 so now it works again in Firefox & Chrome as it should. 😃 If I see anything new / problem etc I will send you another info. Thank you.

Dean-Corso commented 1 year ago

Hi again @hoothin,

new problem started with your script version 1.9.35.15. Same problem as before / last time / limit issue. Check this again please and fix it. Also found another problem. On some sites the scrollbar is jumping up/down during scrolling with mouse so this is really bad. Did you add some kind of auto jump etc? So when I scroll with the mouse then your script should NOT jump up or down by itself you know. Just check this out too.

1.9.35.16   Problem
1.9.35.15   Problem
1.9.35.14   Works
1.9.35.13   Works
1.9.35.12   Works
1.9.35.10   Works

Above the scripts I did check and which are working on my tests. Send feedback if you found and updated your script. Thanks.

hoothin commented 1 year ago

Thank you for report, can you post the site url which didn't work here? I checked the web sites upside but didn't find issue.

lovol1 commented 1 year ago

求https://haitbook.com/的下载规则,谢谢大佬们

Dean-Corso commented 1 year ago

So there are always several sites which are NOT working anymore after a update and later they do work again after other update. Its always like a random that some sites do work and some not (all without any set custom rules). That's the problem. Below some sites which are sometimes working (not at the moment). Page 1: No auto forward page loading anymore Page 2: No auto forward page loading anymore

hoothin commented 1 year ago

Thanks, but I want to know the sites you mentioned before that Pagetual not working with.

1.9.35.16   Problem
1.9.35.15   Problem
1.9.35.14   Works
1.9.35.13   Works
1.9.35.12   Works
1.9.35.10   Works

In the case of the sites you post just now. mytaboo should not work without rule as it's overlength sidebar. hotpornfile run well with the latest version just need some css to adjust.

hoothin commented 1 year ago

求https://haitbook.com/ 的下载规则,谢谢大佬们

.uk-list>li>a@@@@@@let contentMatch=data.body.innerHTML.match(/url: '\/showpapercolor\.php',[\s\S]*?paperid:\s*'(\w+)',\s*vercodechk:\s*'(\w+)'/);if(!contentMatch)return "";$.ajax({url: '/showpapercolor.php',type: 'POST',data: { paperid: `${contentMatch[1]}`, vercodechk: `${contentMatch[2]}`},error: function (xhr) {cb("");},success: function (colorresponse) {cb(colorresponse.replace(/<img.*?>/,"").replace(/<br \/>/g,""))}});return false;

@lovol1 我沒有vip賬號,這個規則只在免費文章下測試過。 自行粘貼到自定義下載,下次不要在別人的issue下求助,自己新建一個issue。

Dean-Corso commented 1 year ago

Thanks for the update and changes you made @hoothin. It's working again, both sites and others too without custom rules. Let's see how long, maybe till next update. 😃 By the way, in case when sites like mytaboo aren't working automatically then my custom made rule is also not working. I will keep this in mind and report new possible problem when I find them. Thank you.

Dean-Corso commented 1 year ago

Hi @hoothin,

could you check this webpage and trying to make a working rule? So in default state your script works already but without thumbs animation. My rule I made is this...

        "name": "xHamster",
        "url": "^https?://[^.]+\\.xhamster\\.com/",
        "action": 2,
        "fitWidth": false,
        "manualMode": false

...but there is a banner what does overlap the first thumbs on every new page and after few pages it makes some little problem with scrolling. I think the stuff on the lower bottom is the problem on that webpage. Anyway, maybe you can have a look and making a better working rule for me. Also tried using pageElement parameter but without better success. Thanks.

hoothin commented 1 year ago

Here you are

{
    "name": "xHamster",
    "url": "^https?://[^.]+\\.xhamster\\.com/",
    "action": 2,
    "fitWidth": false,
    "pageElement": ".thumb-list",
    "nextLink": "a.prev-next-list-link--next",
    "css": "inIframe:aside,.cookie-announce,.no-ts-initiailize{display:none}",
    "pageBar": 0
}
Dean-Corso commented 1 year ago

Hi @hoothin,

thanks for the rule. Seems to work fine. Could you explain that css parts you have added? Why aside? Does this command "inIframe:aside" effect all aside tags or just the 2 classes .cookie-announce and .no-ts-initiailize? Not sure about that yet but maybe you can explain this css command in this specific rule in detail so that I can follow and understand it. Thanks.

One more problem on this webpage. If you click on any category like this then the rule is not working anymore. Not sure why because the pageElement is still same there. Ok, I added another next... "nextLink": "a.prev-next-list-link--next,li.next>a",

hoothin commented 1 year ago

aside is just a name of element. inIframe means effect only inside iframe so the element on current will stay the same.

lovol1 commented 1 year ago

求https://haitbook.com/ 的下载规则,谢谢大佬们

.uk-list>li>a@@@@@@let contentMatch=data.body.innerHTML.match(/url: '\/showpapercolor\.php',[\s\S]*?paperid:\s*'(\w+)',\s*vercodechk:\s*'(\w+)'/);if(!contentMatch)return "";$.ajax({url: '/showpapercolor.php',type: 'POST',data: { paperid: `${contentMatch[1]}`, vercodechk: `${contentMatch[2]}`},error: function (xhr) {cb("");},success: function (colorresponse) {cb(colorresponse.replace(/<img.*?>/,"").replace(/<br \/>/g,""))}});return false;

@lovol1 我沒有vip賬號,這個規則只在免費文章下測試過。 自行粘貼到自定義下載,下次不要在別人的issue下求助,自己新建一個issue。

好的!谢谢您的回复!这次大意了,下次我新建个issue

Dean-Corso commented 1 year ago

Hi again @hoothin,

just need another help with an webpage to create a working rule. This time the problem is the page & next element which seems not to work on category sub sites. Have a look ThisPage. The pages in this category sections using JS without any href to any specific page. On the main page it is using href links to page 2,3,4 etc where the script also works. I just made this rule below. Maybe you can fix this. Thanks.

My Rule ``` { "name": "Camwhores", "url": "^https?://www\\.cambro\\.tv/", "pageElement": ".list-videos > div.item", "nextLink": "li.next>a", "action": "2" } ```
hoothin commented 1 year ago

Why not check your selector with rule picker at first? Either nextLink or pageElement is wrong.

{
    "name": "Camwhores",
    "url": "^https?://www\\.cambro\\.tv/",
    "example": "https://www.cambro.tv/categories/camsoda/",
    "nextLink": ".page-current+li>a",
    "pageElement": ".list-videos .item"
}

image