读取div标签时次序错乱
jacklee-code opened this issue · 8 comments
确认 / Assignments
- 搜索现有issues,不存在相似或相关的issue / No similar or related issues
- 最新测试版依然存在此问题 / Latest beta app does not work
- 此问题和Xposed、Lsposed、Magisk、手机主题、浏览器插件、无障碍服务等无关 / Make sure your machine is not touched by hook frameworks, plugins, accessibility etc
问题描述 / Describe Bugs
在使用正确的正文规则下读取正文的HTML标签,输出的结果跟chrome 开发者工具下的标签顺序不一致,最终导致段落次序错乱。例如文章中间的内容在开首、开首的内容却在结尾。
复现步骤 / How to reproduce
目标网址:
https://www.hetubook.com/
书源(JSON):
hetubook.com.txt
书源(纯文字):
{
"bookSourceComment": "",
"bookSourceGroup": "牆外",
"bookSourceName": "和圖書",
"bookSourceType": 0,
"bookSourceUrl": "https://www.hetubook.com/",
"bookUrlPattern": "",
"customOrder": -2,
"enabled": true,
"enabledCookieJar": true,
"enabledExplore": true,
"exploreUrl": "",
"header": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36",
"lastUpdateTime": 1727517993717,
"respondTime": 180000,
"ruleBookInfo": {
"author": "",
"coverUrl": "",
"init": "",
"intro": "",
"kind": "//[@id="left"]/div[1]/div[2]/text()##類別:",
"lastChapter": "id.dir@dd.-1@tag.a@text",
"name": "",
"tocUrl": "",
"wordCount": "//[@id="left"]/div[1]/div[3]/text()##字數:"
},
"ruleContent": {
"content": "id.content@html",
"nextContentUrl": "",
"replaceRegex": "",
"title": ""
},
"ruleExplore": {
"author": "",
"bookList": "",
"bookUrl": "",
"coverUrl": "",
"intro": "",
"kind": "",
"name": ""
},
"ruleSearch": {
"author": "tag.h4@tag.span@text##/ ",
"bookList": "id.body@tag.dd",
"bookUrl": "tag.h4@tag.a@href",
"checkKeyWord": "",
"coverUrl": "tag.img@src",
"intro": "class.intro@text",
"name": "tag.h4@tag.a@text"
},
"ruleToc": {
"chapterList": "id.dir@dd",
"chapterName": "tag.a@text",
"chapterUrl": "tag.a@href",
"isVolume": "",
"nextTocUrl": ""
},
"searchUrl": "https://www.hetubook.com/search/?keyword={{key}}",
"weight": 0
}
搜寻书本:
羅喉 (繁体字;該书源為繁體書源)
期望结果:
(文章开首)
「呀,過來過來。」一個肥頭大耳的少年揉揉了自己的鼻子,盡量擺出和藹的樣子。
被他招呼的小童大約只有八九歲,梳著朝天辮,警惕的看了他一眼,並不肯靠近,手上似乎還捏了個東西,「大茶壺,你想幹什麼,我姐姐說叫我少理你。」
.......
实际结果:
(文章开首)
「大茶壺,你又死到哪裡去了?」遠處傳來一個尖銳的女聲。
(该段落属于文章中尾三的段落)
「讓我看看你姐發了多少歲錢給你?」大茶壺漫不經心的道,眼睛卻死死的盯著小童拿著紅包的手。
(该段落属于文章中第五的段落)
观察HTML的次序可以发现div并非乱序,但是不知为何经由阅读解析后div标签的次序会混乱了导致段落出现错乱。
确认 / Assignment
- 已经提交复现所需要的附加资料 / Submit additions related with bugs
其他信息 / Additions
No response
日志提交 / Relevant log output
No response
阅读版本 / Legado version
3.25
Android版本 / Android version
Android 14
机型 / Model
Samsung S23 Ultra
请右键菜单查看网页源码,而不是通过开发者工具,这里的网页源码和原来可能是不一样的
请右键菜单查看网页源码,而不是通过开发者工具,这里的网页源码和原来可能是不一样的
<div id="content" style="font-size:20px;line-height:2.4;">
<div class="mask mask2"></div>
<h2 class="h2">楔子</h2>
<div>「大茶壺,你又死到哪裡去了?」遠處傳來一個尖銳的女聲。</div>
<div>「讓我看看你姐發了多少歲錢給你?」大茶壺漫不經心的道,眼睛卻死死的盯著小童拿著紅包的手。</div>
<div>「不給你看,我姐說了,不給你看,我,我回去了。」小璋兒被他看得有些心驚肉跳,想起其姐的叮囑,更是把手向背後藏,扭頭就跑。</div>
<div>「你,你想騙我錢,要有這麼好的法子,你不自己用?」小童不信的道,轉身又想走。</div>
<div>兩盞茶功夫之後,小童呆若木雞的看著大茶壺,手裡的小紅包不知道什麼時候到了他手裡。</div>
<div>眼前一花,小童哪裡跑得過大茶壺,大茶壺年齡差不多是他一倍,身強力壯,一把攔在小童面前,像老鷹盯上小雞似的,涎笑道:「別走嘛,手上是啥?」</div>
<div>「可是,我,我們哪來那麼多的銀子。」小童聽罷不由大失所望,大茶壺說的話是正確的,問題是姐弟倆現在都身不由己,而且年紀幼小,哪來的銀子滿足喜娘的胃口。</div>
<div>「什麼大茶壺,小茶壺的,叫茶壺哥!」大茶壺神氣的道。</div>
<div>這下可惹火了大茶壺,一把把小童推到地上,兇狠的道:「呸<samp>和_圖_書</samp>,你要能坐莊,人人輸錢給你,這不是一本萬利是什麼?茶壺哥教你的就是個賭字,你自己剛才和我賭了,願賭就要服輸,這算是我額外再教你的。」</div>
<div>小童聽得捏緊了拳頭,怒道:「你又來誑我,無非是想騙我姐姐就範,休想,等我長大了,我會保護她。」</div>
<div>「茶,茶壺哥。」小童咬了咬嘴唇改了口,雖然他知道眼前這個傢伙根本不是什麼好人,而且姐姐一再叮囑他不要理他,但是剛才大茶壺提出來的誘惑卻是他沒辦法抵擋的。</div>
<div>小童怔怔的看著大茶壺,半信半疑但又帶著克制不住的希翼,「大茶壺你有辦法讓我姐離開這裏?」</div>
<div>哪怕只有千分之一的希望,也要聽聽,或許眼前這狗嘴裡真能吐出點象牙。</div>
<div>「呀,她怎麼可以這樣說我,我對你們姐弟倆還不夠好嗎?」大茶壺有點惱羞成怒的道,不過很快他抑制住了自己的情緒,裝作不經意瞟了瞟小孩手上捏著的東西,「小璋兒,聽說你姐給你發過年錢了?」</div>
<div>小童頓時像中了定身法一樣停住了,大茶壺看了看園子周圍,現在正是早上,客人們都<big>和-圖-書</big>還沒來或是沒起來,他吐了口唾沫地上,這才慢條斯理的向小童走去。</div>
<div>小童見錢是要不回來了,不由號啕大哭,好在園子里這時沒人,大茶壺見他哭得厲害,心裏也有點不是滋味,如非這幾天手頭緊得很,他再厚臉皮也不至於把主意打到小童的歲錢身上來。</div>
<div>小童見他拆開紙包,忽然收住哭聲,也不抹眼淚,只把目光兇狠的盯著大茶壺,那目光惡狠狠的像是想把他連骨帶皮一起吞了,看得大茶壺忽然有點心虛,訕訕的笑了笑,走過去,把手上的五十個銅板里掏了一個丟在小童面前,故作豪爽的道:「今兒茶壺哥最後再教你一個乖,記得贏了錢后要分紅,做人不可以趕盡殺絕,日後好相見。」</div>
<div>「四五六,大。」大茶壺哈哈一笑,手指石桌道:「看到了吧,你平時也有看到那些豪客有時會在樓里擺賭局,並且不禁人參加,只要你能從中贏錢,就算是喜娘都沒辦法強拿走,這可是一本萬利的,你如果能當庄,扔出來豹子就通殺。」</div>
<div>小童又衝上來死死抱住大茶壺的腰不放,哭鬧道:「你騙我,你騙我,把錢還給我<u>和-圖-書</u>,還什麼一本萬利,你騙我錢。」</div>
<div>被他招呼的小童大約只有八九歲,梳著朝天辮,警惕的看了他一眼,並不肯靠近,手上似乎還捏了個東西,「大茶壺,你想幹什麼,我姐姐說叫我少理你。」</div>
<div>「免費?」小童幾乎不敢相信大茶壺有這麼好心。</div>
<div>大茶壺見意圖又被識破,不由一時滯了話頭,不過轉眼他又有了別的主意,試探著問道:「那我有別的辦法賺錢,你學不學?」</div>
<div>大茶壺把小童一把推開,罵罵咧咧的道:「什麼騙你,願賭服輸,你剛才自己輸給我了,還想討回去?說到哪兒我都不怕,這可是你家茶壺哥我光明正大贏的,你就告到你姐,告到喜娘那裡,我也不怕。」</div>
<div>大茶壺眨眨眼道:「最好的辦法當然是你姐肯鬆口,現在就開始接客,只要遇上一個喜歡上你的豪客,那賞錢銀子就跟水流似的,你想擋都擋不住,這錢按規矩是分成的,雖說樓里拿大頭,但積少成多也是個數,你姐不就有希望離開這裏了。」</div>
<div>大茶壺收起紅包就想走,小童這才如夢初醒般撲上去叫道:「你又騙我,快把歲錢還給我,那是我姐姐給我的。<samp>和圖書</samp>」</div>
<div>大茶壺連忙停了口沫亂飛的說教,「不和你這賴皮小鬼說了,喜娘在叫了,今天的事你最好不要說出去,這是贏來的錢;我半點不怕,;但你的歲錢是你姐私下給的,萬一喜娘計較,連帶你姐也有苦頭吃。」</div>
<div>見小童終於上勾,大茶壺嘿嘿一笑,一伸手,掌心出現了三顆骰子,向石桌上一丟,骰子一陣亂滾,最後落定分別是四五六。</div>
<div>「奶奶的,我看看有多少?」大茶壺掏出紅紙包,拆開一看,裏面也就不過五十個銅錢,不由心下大為失望,本來以為裏面至少值一兩銀子的。</div>
<div>「免費,唉,就當我做善事好了。」大茶壺痛心疾首,彷彿一夜間做生意蝕本狀。</div>
<div>「賺錢?」小童迷惑的道。</div>
<div>「你怎麼知道?」小璋兒的小臉上一遍訝然,他手裡捏著的紅紙包正是姐姐偷偷封給他的歲錢,不過其姐再三叮囑不要讓樓里人知道了。本來過年給小孩歲錢並不是什麼大不了的事,但這對姐弟不一樣,小璋兒更是寄人蘺下,有所避忌。</div>
<div>當然了,大茶壺上前一把拉住小童,強拉著帶來到園內一顆樹后的石桌邊,正色道:「你既然不想你姐呆在這<s>和_圖_書</s>裏,總得有銀子才出得去,沒銀子,就是仙女來了也得脫衣服,這是規矩。不過我有辦法讓你賺錢,一本萬利,就看你學不學了,不過先說好,你手上的年錢就當學費了。」</div>
<div>眼看著小童就要跑出去了,大茶壺突然叫道:「你還想不想讓你姐姐離開這裏?」</div>
<div>「讓你姐離開這裏只有一個辦法,就是錢,大筆的錢,你和你姐要是拿得出來讓喜娘動心的銀子,自然就能離開了,更不用擔心她會逼你姐去……」</div>
<div>「好好,我的小少爺,我免費教你,還不成?」大茶壺連忙拉住他。</div>
<div>說完,大茶壺一溜煙的跑了。</div>
<div>「那到底是啥法子?」小童想了半天,如果根本不需要自己付出什麼,似乎就不是騙人,幫助姐姐的願望終於佔了上風,不由心動了。</div>
<div>一個要看,一個不給看,兩人糾纏起來,大茶壺力氣大得多,小童哪是對手,眼看急了,一口咬在大茶壺手上,痛得他鬆了手,小童撒腿就向園外跑,只要跑出園門進入樓區,大茶壺臉皮再厚也不敢當著所有人面搶一小孩東西。</div>
<div>「呀,過來過來。」一個肥頭大耳的少年揉揉了自己的鼻子,盡量擺出和藹的樣子。</div>
</div>
确实是不一样,想请教有什么思路可以令到输出顺序跟Edge的开发者工具一致吗(即解析出正确的段落顺序)
用webview或找它js是怎么恢复的
用webview或找它js是怎么恢复的
请问以webview开启章节要如何写:
我尝试过在正文规则后加上webView true
"ruleContent": {
"content": "id.content@html, {"webView":true}",
"nextContentUrl": "",
"replaceRegex": "",
"title": ""
}
或者章节URL加上规则后加上webView true
"ruleToc": {
"chapterList": "id.dir@dd",
"chapterName": "tag.a@text",
"chapterUrl": "tag.a@href", {"webView":true}"
"isVolume": "",
"nextTocUrl": ""
}
但是两者好像都无效。
章节URL后加 ##$##,{"webView": true}
正文规则按原来的写
正文规则按原来的写
非常感谢您! 以WebView加载后成功解决了乱序问题,现在段落次序正常显示了。