查看: 751|回复: 11
打印 上一主题 下一主题

[词典求助] 牛津9是否有办法隐藏音节分隔符和重音标记?

[复制链接]
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    跳转到指定楼层
    1
    发表于 2020-4-3 16:56:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    请教一下各位技术大牛:
    1.牛津9(包括牛津8)的单词如果音节较多,会显示分隔符,比如下图particular一词就出现了两个分隔符(为什么ti和cu中间没有我也是没搞明白)。也许有些人需要,但是本人完全无感。有没有办法通过更改CSS的方式去掉这些有碍观瞻的分隔符?
    2.同样是牛津9(包括牛津8),某些地方还有重音标记(也许不是这个名,姑且这么叫吧),比如下图particular的习语部分。萝卜青菜各有所爱,本人同样感觉这一标记或者分隔符毫无必要。不知是否也有办法去掉它?




    该用户从未签到

    539

    主题

    3046

    回帖

    25万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    251426

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    推荐
    发表于 2020-4-3 17:41:22 | 只看该作者
    有碍观瞻

    明明是有用的信息,纸书上也有,也没见哪位学英文的把纸书改了

    难道学汉语的,看声调不爽,也要把声调都擦了嘛
  • TA的每日心情
    慵懒
    2020-10-8 02:33
  • 签到天数: 83 天

    [LV.6]常住居民II

    16

    主题

    342

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13465
    3
    发表于 2020-4-3 17:45:13 | 只看该作者
    本帖最后由 mmmc 于 2020-4-3 19:14 编辑

    看了一些源码,用 CSS 是没有办法的:
    1. <span name="O8T" id="O8T" class="h">par·ticu·lar</span>
    2. <span id="particular_id_1" class="id">in parˈticular</span>
    复制代码


    用 JS 的方式:
    1.     Array.prototype.filter.call(document.querySelectorAll('span.id, span.h'), function(e){
    2.         var h = e.innerHTML;
    3.         if (h.indexOf('·')) e.innerHTML = h.replace(/·/g,'');
    4.         else if (h.indexOf('ˈ') >= 0) e.innerHTML = h.replace(/ˈ/g, '');
    5.     });
    复制代码


    加在 function oalecd8e_documentReady() 里面:
    1. function oalecd8e_documentReady() {
    2.     oalecd8e_extendJQuery();
    3.     var a = {
    4.         showInfl: 0,
    5.         switchChinese: 0
    6.     };
    7.     for (var b in a) typeof window[b] == typeof a[b] && (a[b] = window[b]);
    8.     1 == a.showInfl ? oalecd8e_fixInfl() : oalecd8e.$(".infl").hide(), 1 == a.switchChinese ? (oalecd8e_switchChineseSetup(), oalecd8e_dblSetup(), oalecd8e.$(window).scroll()) : oalecd8e.$(".oalecd8e_show_all").hide()

    9.     Array.prototype.filter.call(document.querySelectorAll('span.id, span.h'), function(e){
    10.         var h = e.innerHTML;
    11.         if (h.indexOf('·')) e.innerHTML = h.replace(/·/g,'');
    12.         else if (h.indexOf('ˈ') >= 0) e.innerHTML = h.replace(/ˈ/g, '');
    13.     });
    14. }
    复制代码
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    4
     楼主| 发表于 2020-4-3 17:45:16 | 只看该作者
    klwo2 发表于 2020-4-3 17:41
    有碍观瞻

    明明是有用的信息,纸书上也有,也没见哪位学英文的把纸书改了

    所以说这是萝卜青菜各有所爱,个人喜好不同。
    本人对这些分隔符完全无感,希望能去掉或者隐藏起来。还望大神赐教!
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    5
     楼主| 发表于 2020-4-3 17:51:10 | 只看该作者
    mmmc 发表于 2020-4-3 17:45
    看了一些源码,用 CSS 是没有办法的:

    果然是大牛,厉害。我马上去试试!多谢多谢!
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    6
     楼主| 发表于 2020-4-3 17:59:01 | 只看该作者
    mmmc 发表于 2020-4-3 17:45
    看了一些源码,用 CSS 是没有办法的:

    抱歉,再请教一下大神:
    牛津8和9都没有js文件,请问这些代码要加到哪里才能执行呢?这方面我实在不懂,还望指点迷津。多谢!
  • TA的每日心情
    慵懒
    2020-10-8 02:33
  • 签到天数: 83 天

    [LV.6]常住居民II

    16

    主题

    342

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13465
    7
    发表于 2020-4-3 18:04:01 | 只看该作者
    shekel 发表于 2020-4-3 17:59
    抱歉,再请教一下大神:
    牛津8和9都没有js文件,请问这些代码要加到哪里才能执行呢?这方面我实在不懂, ...

    我们用的不是同个版本?我的是音频分离版,有这些文件:
    oalecd8e.css
    oalecd8e.ini
    oalecd8e.js
    牛津高阶英汉双解词典(第8版).1.mdd   308.5m
    牛津高阶英汉双解词典(第8版).mdd   22.9m
    牛津高阶英汉双解词典(第8版).mdx   20.1m
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    8
     楼主| 发表于 2020-4-3 18:29:10 | 只看该作者
    mmmc 发表于 2020-4-3 18:04
    我们用的不是同个版本?我的是音频分离版,有这些文件:
    oalecd8e.css
    oalecd8e.ini

    呃,我用的是EarthWorm的版本,没有js,只有css……
  • TA的每日心情
    慵懒
    2020-10-8 02:33
  • 签到天数: 83 天

    [LV.6]常住居民II

    16

    主题

    342

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13465
    9
    发表于 2020-4-3 18:42:46 | 只看该作者
    本帖最后由 mmmc 于 2020-4-3 19:15 编辑

    那可以解开 mdx 看有没有引用 js,或者直接试一下这个 JS:
    1. function oalecd8e_documentReady() {
    2.     oalecd8e_extendJQuery();
    3.     var a = {
    4.         showInfl: 0,
    5.         switchChinese: 0
    6.     };
    7.     for (var b in a) typeof window[b] == typeof a[b] && (a[b] = window[b]);
    8.     1 == a.showInfl ? oalecd8e_fixInfl() : oalecd8e.$(".infl").hide(), 1 == a.switchChinese ? (oalecd8e_switchChineseSetup(), oalecd8e_dblSetup(), oalecd8e.$(window).scroll()) : oalecd8e.$(".oalecd8e_show_all").hide()

    9.     Array.prototype.filter.call(document.querySelectorAll('span.id, span.h'), function(e){
    10.         var h = e.innerHTML;
    11.         if (h.indexOf('·')) e.innerHTML = h.replace(/·/g,'');
    12.         else if (h.indexOf('ˈ') >= 0) e.innerHTML = h.replace(/ˈ/g, '');
    13.     });
    14. }

    15. function oalecd8e_fixInfl() {
    16.     oalecd8e.$(".entry").each(function () {
    17.         0 == oalecd8e.$(this).find(".pos-g .Ref").length && (oalecd8e.$(this).find(".top-g>.infl,.top-g~.infl").insertAfter(oalecd8e.$(this).find(".h-g>.top-g>.ei-g")), oalecd8e.$(".infl+.infl").remove())
    18.     })
    19. }

    20. function oalecd8e_dblSetup() {
    21.     oalecd8e.$(".entry").off(".entry").on("click.entry", function (a) {
    22.         oalecd8e.$(".n-g, .x-g, .sense-g, .para, .def-g").each(function () {
    23.             if (oalecd8e.$(this).offset().top < a.pageY && oalecd8e.$(this).offset().top + oalecd8e.$(this).outerHeight() > a.pageY) {
    24.                 var b;
    25.                 if (oalecd8e.$(this).is(".n-g, .x-g, .sense-g, .para, .def-g")) {
    26.                     if (oalecd8e.$(a.target).filter(".sense-g, .n-g").children(".def-g").first().children(OxfordTagSwitchCNTAG).first().trigger("entry").length > 0) return !1;
    27.                     if (oalecd8e.$(a.target).filter(".x-g, .para, .def-g").first().children(OxfordTagSwitchCNTAG).first().trigger("entry").length > 0) return !1
    28.                 }
    29.                 return !1
    30.             }
    31.         })
    32.     })
    33. }

    34. function oalecd8e_switchChineseSetup() {
    35.     oalecd8e.$(".oalecd8e_chn").hide(), 0 != oalecd8e.$(".entry .oalecd8e_chn").length && (oalecd8e.$(".oalecd8e_show_all").off(".oalecd8e_lang").on("click.oalecd8e_lang", oalecd8e_switchChineseAll), oalecd8e.$(OxfordTagSwitchCNTAG).off(".oalecd8e_lang").on("click.oalecd8e_lang entry.oalecd8e_lang", oalecd8e_switchChinese).css("cursor", "pointer"))
    36. }

    37. function oalecd8e_switchChinese() {
    38.     this !== oalecd8e_lastSwitchElement && (oalecd8e.$(this).is(OxfordTagSwitchCNSIBLINGS) ? (oalecd8e.$(this).siblings(OxfordTagChineseTexT).oalecd8e_toggle(), oalecd8e.$(this).children(OxfordTagSwitchCNSIBLINGS).oalecd8e_toggle()) : oalecd8e.$(this).children(OxfordTagChineseTexT).oalecd8e_toggle(), oalecd8e.$(window).scroll(), setTimeout(function () {
    39.         oalecd8e_lastSwitchElement = null
    40.     }, 200))
    41. }

    42. function oalecd8e_switchChineseAll() {
    43.     0 != oalecd8e.$(".oalecd8e_show_all.active").length ? (oalecd8e.$(".oalecd8e_show_all").removeClass("active"), oalecd8e.$(OxfordTagChineseTexT).oalecd8e_hide()) : (oalecd8e.$(".oalecd8e_show_all").addClass("active"), oalecd8e.$(OxfordTagChineseTexT).oalecd8e_show())
    44. }

    45. function oalecd8e_extendJQuery() {
    46.     oalecd8e.$.fn.extend({
    47.         oalecd8e_show: function () {
    48.             return this.each(function () {
    49.                 void 0 === oalecd8e.$.fn.fadeIn ? oalecd8e.$(this).show() : "block" == oalecd8e.$(this).css("display") ? oalecd8e.$(this).fadeIn({
    50.                     duration: oalecd8e_slideDuration,
    51.                     queue: !1
    52.                 }).slideDown(oalecd8e_slideDuration) : oalecd8e.$(this).fadeIn({
    53.                     duration: oalecd8e_slideDuration
    54.                 })
    55.             })
    56.         },
    57.         oalecd8e_hide: function () {
    58.             return this.each(function () {
    59.                 void 0 === oalecd8e.$.fn.fadeOut ? oalecd8e.$(this).hide() : "block" == oalecd8e.$(this).css("display") ? oalecd8e.$(this).fadeOut({
    60.                     duration: oalecd8e_slideDuration,
    61.                     queue: !1
    62.                 }).slideUp(oalecd8e_slideDuration) : oalecd8e.$(this).fadeOut({
    63.                     duration: oalecd8e_slideDuration,
    64.                     queue: !1
    65.                 })
    66.             })
    67.         },
    68.         oalecd8e_toggle: function (a) {
    69.             return this.each(function () {
    70.                 (void 0 !== a ? a : !oalecd8e.$(this).is(":visible")) ? oalecd8e.$(this).oalecd8e_show(): oalecd8e.$(this).oalecd8e_hide()
    71.             })
    72.         },
    73.         oalecd8e_slideToggle: function (a) {
    74.             return this.each(function () {
    75.                 void 0 === oalecd8e.$.fn.slideToggle ? oalecd8e.$(this).toggle(a) : oalecd8e.$(this).slideToggle(a)
    76.             })
    77.         },
    78.         oalecd8e_fadeIn: function (a) {
    79.             return this.each(function () {
    80.                 void 0 === oalecd8e.$.fn.fadeIn ? oalecd8e.$(this).show(a) : oalecd8e.$(this).fadeIn(a)
    81.             })
    82.         },
    83.         oalecd8e_fadeOut: function (a) {
    84.             return this.each(function () {
    85.                 void 0 === oalecd8e.$.fn.fadeOut ? oalecd8e.$(this).hide(a) : oalecd8e.$(this).fadeOut(a)
    86.             })
    87.         }
    88.     })
    89. }
    90. var oalecd8e = {};
    91. oalecd8e.$ = jQuery.noConflict(!0);
    92. const OxfordTagSwitchCN = ".oalecd8e_switch_lang",
    93.     OxfordTagSwitchCNALL = ".oalecd8e_switch_lang.switch_all",
    94.     OxfordTagSwitchCNCHILDREN = ".oalecd8e_switch_lang.switch_children",
    95.     OxfordTagSwitchCNSIBLINGS = ".oalecd8e_switch_lang.switch_siblings",
    96.     OxfordTagSwitchCNTAG = ".oalecd8e_switch_lang.switch_children, .oalecd8e_switch_lang.switch_siblings",
    97.     OxfordTagChineseTexT = ".oalecd8e_chn";
    98. oalecd8e.$(oalecd8e_documentReady);
    99. var oalecd8e_pagetype = 0,
    100.     oalecd8e_pageCount = 0,
    101.     oalecd8e_lastdblSetupClick = null,
    102.     oalecd8e_lastSwitchElement, oalecd8e_slideDuration = 300;
    复制代码
  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    10
     楼主| 发表于 2020-4-3 19:09:54 | 只看该作者
    本帖最后由 shekel 于 2020-4-3 19:12 编辑
    mmmc 发表于 2020-4-3 18:42
    那可以解开 mdx 看有没有引用 js,或者直接试一下这个 JS:
    多谢大神!
    不知方便上传一个js文件不?直接复制后论坛加了巨多的垃圾字符……
  • TA的每日心情
    慵懒
    2020-10-8 02:33
  • 签到天数: 83 天

    [LV.6]常住居民II

    16

    主题

    342

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    13465
    11
    发表于 2020-4-3 19:17:56 | 只看该作者
    shekel 发表于 2020-4-3 19:09
    多谢大神!
    不知方便上传一个js文件不?直接复制后论坛加了巨多的垃圾字符…… ...

    这个用到了 jQuery,可能你需要另找一个版本了

    Archive.zip

    31.58 KB, 下载次数: 2, 下载积分: 米 -5 粒

  • TA的每日心情
    擦汗
    2020-9-30 15:12
  • 签到天数: 636 天

    [LV.9]以坛为家II

    4

    主题

    715

    回帖

    9278

    积分

    进士

    Rank: 8Rank: 8

    积分
    9278
    12
     楼主| 发表于 2020-4-3 20:06:29 | 只看该作者
    mmmc 发表于 2020-4-3 19:17
    这个用到了 jQuery,可能你需要另找一个版本了

    多谢多谢,不管怎么样先试试看。感谢大神一路的指导!