好吧,谢谢。
OK。麻烦了
对对,怎么搞的?
厉害,欧路里折叠了,但2.3功能没有用
我用的也是欧路词典。
-
右侧空白指的是义项结尾处,不能离太远。
-
悬浮窗是右上角的那个,我测试下来都能用。
没用 ,你放在哪个个位置的
2和3都不能用吗?你用的是哪个平台,Windows?
对的,是win.
直接把你更改后的js给我,试试看。其他的应该一样吧
花了点时间去调这个 BUG,好像是 Windows 版本欧路的问题。原先的代码我在 Windows 上测试了确实不行,但是 iPhone/iPad 上都是可以的。
还是让 ChatGPT 帮我加个按钮调日志,监听点击的脚本竟然运行了两次,于是乎变成了点击没反应。
以下是修改后的代码,测试了 Windows/iPhone/iPad 都是能用的。
document.addEventListener('DOMContentLoaded', () => {
if (window.scriptExecuted) return;
window.scriptExecuted = true;
const elementsSelector = '.x-gs, .collapse';
const toggleVisibility = (elements, display) => elements.forEach(e => e.style.display = display);
setTimeout(() => {
// Expand all collapsible elements with the specified title
document.querySelectorAll('.collapse[title="Oxford Collocations Dictionary"] .heading')
.forEach(headingElement => headingElement.click());
// Hide elements with the specified class by default
document.querySelectorAll(elementsSelector).forEach(e => e.style.display = 'none');
// Add click event listeners to elements with the specified class
document.querySelectorAll('.def.translation_individual').forEach(element => {
element.addEventListener('click', function () {
const elements = this.parentElement.querySelectorAll(elementsSelector);
const display = elements[0].style.display === 'none' ? 'block' : 'none';
toggleVisibility(elements, display);
});
});
// Add click event listener to the gear menu
const gearMenu = document.getElementById('_OALD9_gear');
if (gearMenu) {
const gearHead = gearMenu.querySelector('._gear-ico');
if (gearHead) {
gearHead.addEventListener('click', function () {
const elements = document.querySelectorAll(elementsSelector);
const display = elements[0].style.display === 'none' ? 'block' : 'none';
toggleVisibility(elements, display);
});
}
}
}, 0);
});
测试 Windows 的时候,直接点击某个义项上的文本就可以展开/折叠(可能会误触到选词,不过没想到什么改进的方法了)。其他触控的平台 iPhone/iPad,还是点义项结尾旁边的空白处。
这段代码设置的是,默认隐藏例句、自动展开 Collocations
,可以根据需求修改或者注释掉。
1 个赞
太厉害了,麻烦你了!
爱了。。。。。。
好像有问题,有那个按钮,但没有用
我的没有用。
两个文件都换了吗,不行就用原来的吧。
对,OK。。
Hi 最近准备换牛津十,同时还用着牛津九
测试的时候发现,有按钮但是点不了的情况神奇地复现了
如果你也是同时用,那可能遇到的是同一个问题,我再和你说下怎么修