1
1
// ==UserScript==
2
2
// @id mynovelreader@ywzhaiqi@gmail.com
3
3
// @name My Novel Reader
4
- // @version 4.0.4
4
+ // @version 4.0.5
5
5
// @namespace ywzhaiqigmail.com
6
6
// @author ywzhaiqi
7
7
// @description 小说阅读脚本,统一阅读样式,内容去广告、修正拼音字、段落整理,自动下一页
15
15
// @grant GM_registerMenuCommand
16
16
// @grant unsafeWindow
17
17
// homepageURL https://userscripts.org/scripts/show/165951
18
- // updateURL https://greasyfork .org/scripts/292-my-novel-reader/code/My%20Novel%20Reader .meta.js
19
- // downloadURL https://greasyfork .org/scripts/292-my-novel-reader/code/My%20Novel%20Reader .user.js
18
+ // updateURL https://userscripts .org/scripts/source/165951 .meta.js
19
+ // downloadURL https://userscripts .org/scripts/source/165951 .user.js
20
20
21
21
// @homepageURL https://greasyfork.org/scripts/292/
22
- // @updateURL https://greasyfork.org/scripts/292/code.meta.js
23
- // @downloadURL https://greasyfork.org/scripts/292/code.user.js
22
+ // @updateURL https://greasyfork.org/scripts/292-my-novel-reader /code/My%20Novel%20Reader .meta.js
23
+ // @downloadURL https://greasyfork.org/scripts/292-my-novel-reader /code/My%20Novel%20Reader .user.js
24
24
// @require http://code.jquery.com/jquery-1.9.1.min.js
25
25
// @require http://cdn.jsdelivr.net/underscorejs/1.6.0/underscore-min.js
26
26
// @resource fontawesomeWoff http://web-resource.googlecode.com/git/fontawesome-webfont.woff
46
46
// @include http://www.readnovel.com/novel/*.html
47
47
// http://www.tianyabook.com/*/*.htm
48
48
49
+ // @include http://tieba.baidu.com/p/*
50
+
49
51
// booklink.me
50
52
// @include http://www.shumilou.com/*/*.html
51
53
// @include http://www.wcxiaoshuo.com/wcxs-*-*/
@@ -269,6 +271,9 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
269
271
270
272
contentRemove : "script, iframe, font[color]" , // 内容移除选择器
271
273
contentReplace : / 最 新 .? 章 节 | 百 度 搜 索 | 无 弹 窗 小 说 网 | 更 新 快 无 弹 窗 纯 文 字 | 高 品 质 更 新 | \( 百 度 搜 .\) | 全 文 字 手 打 | “ ” & n b s p ; 看 | 无 .弹 .窗 .小 .说 .网 | 追 书 网 | 〖 ∷ ∷ 无 弹 窗 ∷ 纯 文 字 ∷ 〗 / g,
274
+ removeLineRegExp : / < p > [ \s 。 ; , ! \. ∷ 〖 ] * < \/ p > / g, // 移除只有一个字符的行
275
+
276
+ // 以下不常改
272
277
replaceBrs : / ( < b r [ ^ > ] * > [ \n \r \t ] * ) { 1 , } / gi, // 替换为<p>
273
278
} ;
274
279
@@ -413,6 +418,16 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
413
418
contentSelector : "#article" ,
414
419
contentRemove : "div[style]"
415
420
} ,
421
+
422
+ { siteName : "百度贴吧(手动启用)" ,
423
+ url : / ^ h t t p : \/ \/ t i e b a \. b a i d u .c o m \/ p \/ / ,
424
+ titleSelector : "h1.core_title_txt" ,
425
+ // contentSelector: "div[id^='post_content_']",
426
+ contentSelector : "#j_p_postlist" ,
427
+ contentRemove : ".share_btn_wrapper, #sofa_post, .d_author" ,
428
+ // 显示楼层的分割线
429
+ style : ".clear { border-top:1px solid #cccccc; margin-bottom: 50px;}" ,
430
+ } ,
416
431
// {siteName: "天涯在线书库(部分支持)",
417
432
// url: /www\.tianyabook\.com\/.*\.htm/,
418
433
// titleSelector: ".max, h1:first",
@@ -582,7 +597,8 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
582
597
bookTitleSelector : ".headinfo a:first" ,
583
598
contentRemove : "p:contains(精品推荐:), p:contains(,免费小说阅读基地!), a" ,
584
599
contentReplace : [
585
- "〖∷更新快∷无弹窗∷纯文字∷ .〗"
600
+ "〖∷更新快∷无弹窗∷纯文字∷ .〗" ,
601
+ "逸名文学屋:"
586
602
]
587
603
} ,
588
604
{ siteName : "奇书屋" ,
@@ -1044,7 +1060,10 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1044
1060
} ,
1045
1061
{ siteName : "努努书坊" ,
1046
1062
url : "http://book\\.kanunu\\.org/.*/\\d+/\\d+\\.html" ,
1063
+ titleReg : / ( .* ) - ( .* ) - 小 说 在 线 阅 读 - .* - 努 努 书 坊 / ,
1064
+ titlePos : 1 ,
1047
1065
contentSelector : "table:eq(4) p" ,
1066
+ indexSelector : "a[href^='./']" ,
1048
1067
} ,
1049
1068
{ siteName : "五月中文网" ,
1050
1069
url : "^http://5ycn\\.com/\\d+/\\d+/\\d+\\.html" ,
@@ -1185,6 +1204,7 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1185
1204
"cao之过急" :"操之过急" ,
1186
1205
"大公无si" :"大公无私" ,
1187
1206
"fu道人家" :"妇道人家" ,
1207
+ "奸yin掳掠" :"奸淫掳掠" ,
1188
1208
"空dangdang" :"空荡荡" ,
1189
1209
"yin奉阳违" :"阴奉阳违" , "一yin一阳" :"一阴一阳" ,
1190
1210
@@ -1198,7 +1218,7 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1198
1218
"han住" : "含住" , "hai洛因" : "海洛因" , "红fen" : "红粉" , "火yao" : "火药" , "h[ǎa]oxi[àa]ng" :"好像" , "hu[áa]ngs[èe]" :"黄色" , "皇d[ìi]" :"皇帝" , "昏昏yu睡" :"昏昏欲睡" , "回dang" :"回荡" ,
1199
1219
"jian(臣|细)" :"奸$1" , "jian货" :"贱货" , "jing察" :"警察" , "j[ìi]nháng" :"进行" , "ji烈" :"激烈" , "j[iì](nv|女)" : "妓女" , "jirou" : "鸡肉" , "ji者" :"记者" , "ju花" :"菊花" , "j[īi]动" :"激动" , "jili[èe]" :"激烈" , "肌r[òo]u" :"肌肉" , "ji射" :"激射" , "ji[ēe]ch[uù]" :"接触" , "j[ùu]li[èe]" : "剧烈" , "jǐng惕" : "警惕" , "节cao" :"节操" , "浸yin" :"浸淫" ,
1200
1220
"k[ěe]n[ée]ng" : "可能" , "开bao" : "开苞" , "k[àa]o近" : "靠近" , "口wen" :"口吻" ,
1201
- "ling辱" : "凌辱" , "luan蛋" : "卵蛋" , "脸sè" : "脸色" , "lu出" :"露出" , "流máng" :"流氓" ,
1221
+ "ling辱" : "凌辱" , "luan蛋" : "卵蛋" , "脸sè" : "脸色" , "lu出" :"露出" , "流máng" :"流氓" , "lun理" : "伦理" ,
1202
1222
"m[ǎa]ny[ìi]" :"满意" , "m[ǎa]sh[àa]ng" :"马上" , "m[ée]iy[oǒ]u" :"没有" , "mei国" : "美国" , "m[íi]ngb[áa]i" :"明白" , "迷huan" : "迷幻" , "mi茫" :"迷茫" , "m[íi]n\\s{0,2}zh[ǔu]" : "民主" , "迷jian" : "迷奸" , "mimi糊糊" :"迷迷糊糊" , "末(?:\\s|<br/?>)*ì" :"末日" , "面se" :"面色" , "mengmeng" :"蒙蒙" ,
1203
1223
"nàme" :"那么" , "n[ée]ngg[oò]u" :"能够" , "nán\\s{0,2}hǎi" : "那会" , "内jian" :"内奸" ,
1204
1224
"pi[áa]o客" :"嫖客" , "p[áa]ngbi[āa]n" :"旁边" ,
@@ -1647,7 +1667,7 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1647
1667
}
1648
1668
1649
1669
// 删除空白的、单个字符的 p
1650
- text = text . replace ( / < p > [ \s 。 ; , ! \. ∷ ] * < \/ p > / g , "" ) ;
1670
+ text = text . replace ( rule . removeLineRegExp , "" ) ;
1651
1671
1652
1672
return text ;
1653
1673
} ,
@@ -1814,6 +1834,11 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1814
1834
if ( App . isLaunched ) return ;
1815
1835
App . isLaunched = true ;
1816
1836
1837
+ // 百度贴吧的不好判断,手动调用 readx 启用
1838
+ if ( location . href . match ( / ^ h t t p : \/ \/ t i e b a \. b a i d u .c o m \/ p \/ / ) ) {
1839
+ return ;
1840
+ }
1841
+
1817
1842
var isAutoLaunch = App . isAutoLaunch ( ) ;
1818
1843
if ( isAutoLaunch ) {
1819
1844
App . site = App . getCurSiteInfo ( ) ;
@@ -1955,6 +1980,11 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
1955
1980
. prependTo ( App . $chapterList ) ;
1956
1981
}
1957
1982
1983
+ // 插入站点样式
1984
+ if ( App . site . style ) {
1985
+ GM_addStyle ( App . site . style ) ;
1986
+ }
1987
+
1958
1988
App . appendPage ( parser , true ) ;
1959
1989
1960
1990
App . registerControls ( ) ;
@@ -3252,12 +3282,12 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
3252
3282
} ;
3253
3283
3254
3284
function fakeTimeout ( callback ) {
3255
- // Register event listener
3256
- window . document . body . addEventListener ( "timeoutEvent" , callback , false ) ;
3257
- // Generate and dispatch synthetic event
3258
- var ev = document . createEvent ( "HTMLEvents" ) ;
3259
- ev . initEvent ( "timeoutEvent" , true , false ) ;
3260
- window . document . body . dispatchEvent ( ev ) ;
3285
+ // Register event listener
3286
+ window . document . body . addEventListener ( "timeoutEvent" , callback , false ) ;
3287
+ // Generate and dispatch synthetic event
3288
+ var ev = document . createEvent ( "HTMLEvents" ) ;
3289
+ ev . initEvent ( "timeoutEvent" , true , false ) ;
3290
+ window . document . body . dispatchEvent ( ev ) ;
3261
3291
}
3262
3292
3263
3293
@@ -3470,8 +3500,7 @@ if (!fontawesomeWoff || fontawesomeWoff.length < 10) {
3470
3500
box-shadow: 0 1px 0 rgba(255,255,255,0.05), inset 0 1px 3px rgba(0,0,0,0.3);\
3471
3501
}\
3472
3502
#chapter-list {\
3473
- position: absolute;\
3474
- top: 46px;\
3503
+ position: relative;\
3475
3504
bottom: 0;\
3476
3505
left: 0;\
3477
3506
right: 0;\
0 commit comments