TA的每日心情 | 奋斗 2022-6-1 19:02 |
---|
签到天数: 377 天 [LV.9]以坛为家II
|
本帖最后由 须佐之男 于 2018-5-8 21:36 编辑
/ I" X- t( F- U0 ~5 W* M! k1 V3 G. Z0 i% z- X$ j
写在前面:" x9 s) _& n! ]/ ~5 c' y$ r
其实本来没打算写这个帖子的,因为这个方法虽然确实可以实现隐藏,但需要限定在一定条件下。但是 @EarthWorm 问起这个问题,所以就写出来吧。# g2 R2 ]6 z G# V7 L( S( {) K
mdx格式的词库其实就是一个个不完整的html文件的集成,mdict、欧路、深蓝等app可以从mdx读取到你查的那个词所对应的的html文件,以网页的形式显示出来。读取的方式我不了解,但是欧路和mdict、深蓝在显示的方式上是不同的。欧路查词后显示显示的界面其实就是一整个网页,所有词典都在同一个网页上,每个词典都是用div标签所包含(并且添加有区分标示的id,类)。在页面的头部和底部添加有:发音图标、我的笔记等东西。
& [+ y8 k+ g! ]; Z" | {9 Z; s5 K: v. c, ]+ q
隐藏方法:
, q! k! y7 _! C+ ?; G2 M前面说到欧路是吧所有页面显示在一个网页上的,包括发音图标和我的笔记和其他词典,这也就给我们操作发音图标和我的笔记的可能。
2 h3 r% ?# y5 _- Z/ r4 w, a9 a8 Z通过一个特别制作的词库,获取到欧路显示页面的源码,得知发音图标是在一个id为eudicWordInfoHead的div标签里,我的笔记实在一个id为customNote的div标签里。
' n1 N4 {8 H& K4 w3 S# Y& D: o1 V我们只要隐藏着两个div就行了,可以分别通过js和css隐藏。
/ \- _# ?3 a5 O" A: X6 jcss方法:* Z& g" P J9 C4 }; n
先确定要添加在哪本词典上,然后找到被欧路渲染后的css文件(之所以找渲染后的是因为欧路会在css的选择器前加上词典获得的随机id,样式就只能在本词典有效,就不能影响词典外了)。在文件管理(我用的是x-plore)找到欧路的文件夹,名字是eudb_en,打开找到tmp,这是欧路的缓存文件夹,包括词典的css、js、图片、发音的音频文件、字体等,每个词典一个独立文件夹,可以复制你要添加词典的css文件名来搜索,或者一个个打开确认。
# [$ w7 Z: c' Y找到之后再里边添加以下css样式,保存就行。或者在这个文件夹(你找到的欧路缓存目录tmp下,类似于114428939_mdx_1这样的)新建一个和mdx同名的css文件,欧路也认
" H) C! i; _: O0 Z' d. h; e: W缺点:比较麻烦,每次清除欧路缓存后要重复操作' r: ~9 O$ w* i8 W3 f4 L3 U/ |3 ]
- #eudicWordInfoHead,#customNote {9 X& Y! ? _# {* G4 @0 j
- display:none !important;, D( m+ S: ^$ J: C* Z
- }
复制代码
! ? O% S- `/ D2 Gjs方法:
& T* c1 X2 G/ E3 b {3 m9 {js方法相对来讲操作简单一些,原理是一样的。下面两句加到js的末尾;或者新建一个和mdx同名的js,内容就是以下内容比如mdx是simon.mdx,新建的js就命名为simon.js,欧路会自动读取的。
1 W Q/ V6 m0 s/ t5 N' n3 p- setTimeout(function () {
9 h% h' n4 s! c' {0 y - document.getElementById("eudicWordInfoHead").style.display = "none";
0 g" ]/ F R' M3 N7 S - document.getElementById("customNote").style.display = "none";},0);
复制代码
. T. D& K. r. h- q6 ~7 c$ ]要求就是引用js或css的词典必须是默认展开的,且包含你当前所查的词。比如你把css或js添加在英文词典里,但查的是汉字,这本词典不显示,那肯定不会生效。
; I% X& _3 z9 |/ X7 R5 p" B1 B% v. P7 O& B2 |0 F
$ }% x* e, p3 b+ \
css的方法还可以修改词典名称,见下图。其实能反编译apk是最好的办法,直接从源头实现,就不用这么麻烦了,但是我不会,至少目前不会。4 {: ^: O3 i: l' ]/ e3 F) p6 W, i
另附上我获取的欧路显示的源码,有改动,但基本就是这个样子4 ^* W( w& j. M9 z+ S. N3 F) n$ b
( A: v( n% A% a3 G: r% V# B( `# y0 H* Z6 _( O: R2 m' b4 ]
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
5
查看全部评分
-
|