(ele)
| 5762 | nextLeftPos = this.initNext.getBoundingClientRect().left; |
| 5763 | } |
| 5764 | function checkElement(ele) { |
| 5765 | if (compareNodeName(ele, ["pre", "code"])) { |
| 5766 | self.curSiteRule.pageElement = geneSelector(ele.parentNode); |
| 5767 | debug(self.curSiteRule.pageElement, 'Page element'); |
| 5768 | return [ele.parentNode]; |
| 5769 | } |
| 5770 | if (ele.children && ele.children.length === 1) { |
| 5771 | let hasText = false; |
| 5772 | for (let i in ele.childNodes) { |
| 5773 | let child = ele.childNodes[i]; |
| 5774 | if (child.nodeType === 3 && child.nodeValue.trim() !== '') { |
| 5775 | hasText = true; |
| 5776 | break; |
| 5777 | } |
| 5778 | } |
| 5779 | if (!hasText) { |
| 5780 | ele = ele.children[0]; |
| 5781 | let validSize = self.getValidSize(ele, curWin); |
| 5782 | curHeight = validSize.h; |
| 5783 | curWidth = validSize.w; |
| 5784 | } |
| 5785 | } |
| 5786 | if (compareNodeName(ele, ["picture", "img"])) { |
| 5787 | self.curSiteRule.pageElement = geneSelector(ele.parentNode) + ">" + ele.nodeName.toLowerCase(); |
| 5788 | debug(self.curSiteRule.pageElement, 'Page element'); |
| 5789 | let eles = []; |
| 5790 | for (let i = 0; i < ele.parentNode.children.length; i++) { |
| 5791 | let curNode = ele.parentNode.children[i]; |
| 5792 | if (curNode.nodeName === ele.nodeName && curNode.id === ele.id && curNode.className === ele.className) { |
| 5793 | eles.push(curNode); |
| 5794 | } |
| 5795 | } |
| 5796 | return eles; |
| 5797 | } |
| 5798 | if (compareNodeName(ele, ["form"]) && ele.parentNode !== getBody(document)) { |
| 5799 | self.curSiteRule.pageElement = geneSelector(ele) + ">*"; |
| 5800 | debug(self.curSiteRule.pageElement, 'Page element'); |
| 5801 | return ele.children; |
| 5802 | } |
| 5803 | if (ele.children.length === 0 && !self.curSiteRule.pageElement) { |
| 5804 | if (compareNodeName(ele.parentNode, ["p"])) ele = ele.parentNode; |
| 5805 | self.curSiteRule.pageElement = geneSelector(ele.parentNode) + ">" + ele.nodeName.toLowerCase(); |
| 5806 | debug(self.curSiteRule.pageElement, 'Page element'); |
| 5807 | return getAllElements(self.curSiteRule.pageElement, doc); |
| 5808 | } |
| 5809 | let i, minHeight = curHeight * 0.52, curMaxEle = null, curMaxArea = 0, minWidth = Math.min(curWidth * 0.38, 500); |
| 5810 | let isHori, preOffsetTop = -1; |
| 5811 | let articleNum = 0; |
| 5812 | for (i = 0; i < ele.children.length; i++) { |
| 5813 | let curNode = ele.children[i]; |
| 5814 | if (ele !== body && ele.parentNode !== body && /^H\d$/i.test(curNode.nodeName) && curNode.offsetParent && curNode.offsetHeight) { |
| 5815 | curMaxEle = null; |
| 5816 | break; |
| 5817 | } |
| 5818 | if (compareNodeName(curNode, ["canvas", "nav"])) continue; |
| 5819 | if (curNode.role === "menu") continue; |
| 5820 | let curStyle = curWin.getComputedStyle(curNode); |
| 5821 | if (curStyle.opacity === "0") { |
nothing calls this directly
no test coverage detected