|
11 | 11 | // @name:fr Pagetual |
12 | 12 | // @name:it Pagetual |
13 | 13 | // @namespace hoothin |
14 | | -// @version 1.9.37.100 |
| 14 | +// @version 1.9.37.101 |
15 | 15 | // @description 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. |
16 | 16 | // @description:zh-CN 终极自动翻页 - 加载并拼接下一分页内容至当前页尾,智能适配任意网页 |
17 | 17 | // @description:zh-TW 終極自動翻頁 - 加載並拼接下一分頁內容至當前頁尾,智能適配任意網頁 |
|
2941 | 2941 | "[aria-label$='next page']", |
2942 | 2942 | ".pagination-nav__item--next>a", |
2943 | 2943 | "a.pageright", |
| 2944 | + ".pager__next>a", |
2944 | 2945 | ".page-numbers.current+a", |
2945 | 2946 | "a.page-numbers.next", |
2946 | 2947 | "body [class*=pagination] li.active+span+li>a", |
|
5498 | 5499 | author = propValue; |
5499 | 5500 | storage.setItem("author", propValue); |
5500 | 5501 | } |
5501 | | - let editTemp = self.getTempRule(); |
| 5502 | + let editTemp = self.getTempRule(false, true); |
5502 | 5503 | if (!editTemp) return; |
5503 | 5504 | editTemp[propName] = propValue; |
5504 | 5505 | self.tempRule.value = JSON.stringify(editTemp, null, 4); |
|
5508 | 5509 | _GM_openInTab(configPage[0], {active: true}); |
5509 | 5510 | }, true); |
5510 | 5511 | addNextSelector.addEventListener("click", e => { |
5511 | | - let editTemp = self.getTempRule(); |
| 5512 | + let editTemp = self.getTempRule(false, true); |
5512 | 5513 | if (!editTemp) return; |
5513 | 5514 | let selector = self.selectorInput.value; |
5514 | 5515 | if (selector) { |
|
5521 | 5522 | _GM_openInTab(configPage[0].replace("rule.html", "rules/nextLink.html"), {active: true}); |
5522 | 5523 | }, true); |
5523 | 5524 | addPageSelector.addEventListener("click", e => { |
5524 | | - let editTemp = self.getTempRule(); |
| 5525 | + let editTemp = self.getTempRule(false, true); |
5525 | 5526 | if (!editTemp) return; |
5526 | 5527 | let selector = self.selectorInput.value; |
5527 | 5528 | if (selector) { |
|
5537 | 5538 | frame.classList.toggle("showDetail"); |
5538 | 5539 | }, true); |
5539 | 5540 | saveDetailBtn.addEventListener("click", e => { |
5540 | | - let editTemp = self.getTempRule(true); |
| 5541 | + let editTemp = self.getTempRule(true, true); |
5541 | 5542 | if (tempRule.value && !editTemp) { |
5542 | 5543 | return; |
5543 | 5544 | } |
|
5645 | 5646 | self.setSelectorDiv(selector); |
5646 | 5647 | }); |
5647 | 5648 | editBtn.addEventListener("click", e => { |
5648 | | - rulesData.editTemp = self.getTempRule(); |
| 5649 | + rulesData.editTemp = self.getTempRule(false, true); |
5649 | 5650 | storage.setItem("rulesData", rulesData); |
5650 | 5651 | _GM_openInTab(rulesData.configPage || configPage[0], {active: true}); |
5651 | 5652 | }); |
|
5691 | 5692 | }; |
5692 | 5693 | } |
5693 | 5694 |
|
5694 | | - getTempRule(detail) { |
| 5695 | + getTempRule(detail, noFill) { |
5695 | 5696 | if (this.tempRule.value) { |
5696 | 5697 | try { |
5697 | 5698 | this.editTemp = JSON.parse(this.tempRule.value); |
|
5723 | 5724 | delete this.editTemp.type; |
5724 | 5725 | delete this.editTemp.updatedAt; |
5725 | 5726 | } |
5726 | | - if (this.selectorInput.value && (!this.frame.classList.contains("showDetail") || !this.editTemp || !this.editTemp.pageElement)) { |
5727 | | - if (this.foundEle && this.foundEle.length === 1) { |
5728 | | - let foundEleRect = this.foundEle[0].getBoundingClientRect(); |
5729 | | - if (foundEleRect.height < 100) { |
5730 | | - showTips("Next Link", "", 500); |
5731 | | - this.editTemp.nextLink = this.selectorInput.value; |
5732 | | - return this.editTemp; |
| 5727 | + if (!noFill && this.selectorInput.value && (!this.frame.classList.contains("showDetail") || !this.editTemp || !this.editTemp.pageElement)) { |
| 5728 | + if (this.foundEle) { |
| 5729 | + if (this.foundEle.length === 1) { |
| 5730 | + let foundEleRect = this.foundEle[0].getBoundingClientRect(); |
| 5731 | + if (foundEleRect.height < 100) { |
| 5732 | + showTips("Next Link", "", 500); |
| 5733 | + this.editTemp.nextLink = this.selectorInput.value; |
| 5734 | + return this.editTemp; |
| 5735 | + } |
| 5736 | + } else if (this.foundEle.length <= 3) { |
| 5737 | + let foundEleRect = this.foundEle[0].getBoundingClientRect(); |
| 5738 | + if (foundEleRect.height < 30) { |
| 5739 | + showTips("Next Link", "", 500); |
| 5740 | + this.editTemp.nextLink = this.selectorInput.value; |
| 5741 | + return this.editTemp; |
| 5742 | + } |
5733 | 5743 | } |
5734 | 5744 | } |
5735 | 5745 | showTips("Page Element", "", 500); |
|
0 commit comments