掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 861|回复: 3

[求助] 在MDict里用javascript连结到其他词条? [12/31 update]

[复制链接]

该用户从未签到

发表于 2015-10-24 21:54:01 | 显示全部楼层 |阅读模式
本帖最后由 sky66 于 2015-12-31 15:25 编辑 # v5 v! y/ e' L* J- O7 d: H' p
: D- j7 a0 r! G" h. T  s; b8 u
BNC 5461乱序词库 不能下载
$ h/ b* w( R' M4 n+ y' u8 Khttps://www.pdawiki.com/forum/fo ... thread&tid=2613
, |  c8 t  N) h; m
5 j; n( G( k8 F7 s; Y2 S# z于是参考了网络上的写法, 自己在mdx里用javascript使用随机数
# _( K& R5 q) Q9 j* q% N( }
$ ?4 y5 D3 }- ?  A7 l这样写, 在PC版mdict或是GD, 没有设定连结也可以连结到下一个词条
: ?/ Y  E% u0 W8 y6 h% S3 \document.write("BNC" + n );" c6 E* u: Q9 z
不过在手机上的mdcit就不行了,
  i/ E) f1 X+ L$ x5 E6 ?9 Z6 U+ P5 [5 e" b( v- {! H& {8 D1 U; u$ A
改成这样也不行3 f: X0 U' l* y! {5 T5 k4 j9 o' Y
document.write ('<a href="entry://BNC' + n + '">' + 'next' +'</a>')
& G: m  D7 P& j0 S$ U
) S& O5 e' X. T6 A0 J2 y( Q用location.href则会变成用浏览器开启, 也不行
) V8 \4 _& T8 }  o8 w( R, e: _
; t, ~% c% r$ k请问要怎么写才可以在mdx里用javascript连结到其他词条呢?* T- H( r$ k  m2 m+ p
* q( ]  r. P( \# O6 ~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

该用户从未签到

 楼主| 发表于 2015-12-31 15:56:46 | 显示全部楼层
最近在研究[部件檢索], 因為藉由這個[部件檢索], 可以方便的查詢包含E區的unicode中文字' D1 `" _9 M8 G/ I" D
正好與作者WFG(也是一位辭典製作高手) 討論到這個跳轉問題, WFG分析如下:
# r" q! k' G! ]% p. F2 E  l& T- o* C9 O
在 RC4 版的跳轉問題,應該是 MDict 程式的疏漏無誤,要等原
3 m3 c( I5 G; E+ s' b作者修正...
7 N3 g. Q! y/ `+ h8 h5 z% X7 z: x% b( r# j
在 RC4 裡,跳轉的連結寫成 href=entry://<詞條名稱>,但在執行時它會代換成 ( e$ I- l" g- Y7 ?* {- M
content://mdict.cn /entry/<辭典 ID> /<詞條名稱>(舊版沒有此 行為),這樣才能正確跳轉。' q! u4 m* ~. J( M! p# E
7 ~! O6 R0 I# k0 m: W1 [
但利用 javascript 動態產生的跳轉連結,它並不會自動代換,所以造成了問題。修改我的程式應該可以 彌補這個問題..

/ O& }4 C3 p: \- S7 v3 {7 N
, `% e. o$ m* w討論與測試過程稍長, 在MDict尚未修正問題之前, javascript參考的變通解法摘要如下, 有需要可詳閱[部件檢索.htm]內的 javascript寫法:/ ^1 U/ D' e; j- r' W& N8 ]: O
var did = (window.name.slice(0, 3) == "if_") ? parseInt(window.name.slice(3)) : 0;
4 ?5 f+ Q4 {( I2 Fvar ref = did ? ("href='content://mdict.cn/entry/"+did+"/$CHR$'") :5 [1 t* g4 o* [* e  W% E  T# k% [

0 h) ^4 h7 R3 T1 l- t在這裡簡單的說, 原本MDict跳轉的連結應寫成 entry://<詞條名稱>
" \5 z9 V# L4 W! T但在javascript裡則要寫成 content://mdict.cn/entry/1/<詞條名稱>
( e0 ?* \, y; v數字1原本是要用詞典ID, 但經測試, 任意數字皆可..7 P( x0 ?1 p; M2 D5 o

- f, U% r0 u  y. T* v/ T+ y, y最終, 我的 [BNC乱序词库] 就完成了, 每次點擊都會跳轉到不同的詞條..4 N! `( x8 I" v/ i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x
  • TA的每日心情
    慵懒
    2020-12-11 08:19
  • 签到天数: 104 天

    [LV.6]常住居民II

    发表于 2015-12-31 23:20:11 | 显示全部楼层
    很厉害的样子,一直有个困惑,现在MDict里的词典文件多了,查一个单词,然后在页面内查另一个单词,会从当前词典跳转到另一部词典(若词典是固定顺序,总会跳到第一个词典),能不能只在同一词典内查看查询结果呢?
  • TA的每日心情
    奋斗
    2019-11-28 00:17
  • 签到天数: 397 天

    [LV.9]以坛为家II

    发表于 2016-1-4 09:57:24 | 显示全部楼层
    哇!茅塞顿开,又多学了一招,感谢 sky66 兄与 WFG 大的讨论分析。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-8 10:02 , Processed in 0.020441 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表