cxxjackie 发表于 2022-8-24 23:18:25

40252492 发表于 2022-8-24 12:25
> 本帖最后由 40252492 于 2022-8-24 15:01 编辑

> 本帖最后由 40252492 于 2022-8-24 14:55 编辑


找错误尽量还是去控制台里看,编辑器只是简单的语法检查,像这个黄标你完全不管他也是能运行的。

cxxjackie 发表于 2022-8-24 23:27:33

40252492 发表于 2022-8-24 17:24
> 本帖最后由 40252492 于 2022-8-24 17:56 编辑

> 本帖最后由 40252492 于 2022-8-24 17:55 编辑


getwenben.each('', document, login => {
    login.value = '登录';
});
getwenben.each('', document, search => {
    search.placeholder = '搜索';
});
这个就是分开写的一个好处了。逗号你可以像我前面写的那个例子一样放在语句最前面,这样就不容易出问题。

40252492 发表于 2022-8-25 16:14:14

cxxjackie 发表于 2022-8-24 23:27
这个就是分开写的一个好处了。逗号你可以像我前面写的那个例子一样放在语句最前面,这样就不容易出问题 ...

大佬大佬,有个新问题,在线人数,“数字+文本”,其中数字会变,如下图,请问能弄吗?
(这个要登录才能显示)
其实麻烦的话不弄也没问题,我就是想当做一个学习的机会 =3=![无标题.png](data/attachment/forum/202208/25/161338q224kkk4z91opor3.png)

cxxjackie 发表于 2022-8-25 21:18:32

40252492 发表于 2022-8-25 16:14
大佬大佬,有个新问题,在线人数,“数字+文本”,其中数字会变,如下图,请问能弄吗?
(这个要登录 ...

getwenben.each('label.actives', document, label => {
    label.innerText = label.innerText.replace('actives', '在线');
});

40252492 发表于 2022-8-26 13:08:46

cxxjackie 发表于 2022-8-25 21:18


多谢大佬,但是没生效诶,我把第2行的actives换成大写ACTIVES也不行=v=

cxxjackie 发表于 2022-8-26 20:31:55

40252492 发表于 2022-8-26 13:08
多谢大佬,但是没生效诶,我把第2行的actives换成大写ACTIVES也不行=v=

我没帐号,纯粹是看图猜的,这个好像是iframe,估计match地址不对。你先选中$0,然后输出$0.ownerDocument.location.href看看。

40252492 发表于 2022-8-30 12:30:20

本帖最后由 40252492 于 2022-8-30 12:54 编辑

> 本帖最后由 40252492 于 2022-8-30 12:52 编辑

> 本帖最后由 40252492 于 2022-8-30 12:51 编辑

> (forum.php?mod=redirect&goto=findpost&pid=33483&ptid=2862)
> > 我没帐号,纯粹是看图猜的,这个好像是iframe,估计match地址不对。你先选中$0,然后输出$0.ownerDocumen ...

!(data/attachment/forum/202208/30/122958w07zadidbk9titkq.png)
请过目😁
(这个右下角的聊天室入口在登入后的每个页面都有)

~~顺便问一下,效果文本里的🥚←这个东西是什么玩意?我该如何写在代码里~~
~~https://dulst.com/overdulst/cards/33891667/Sunrise-Egg-(Beta-Promo)~~
转出来了,是\ud83e\udd5a,邪门😵
!(data/attachment/forum/202208/30/125236fmggx1x374nt18ng.png)

cxxjackie 发表于 2022-8-30 21:45:00

40252492 发表于 2022-8-30 12:30
> 本帖最后由 40252492 于 2022-8-30 12:52 编辑

> 本帖最后由 40252492 于 2022-8-30 12:51 编辑


我测试了一下,元素能获取得到,但这个元素一开始的文本是空的,之后根据在线人数实时修改,这导致即使成功替换一次,下次也会被改回去。这个正确的做法应该是监听节点修改,我写的ElementGetter主要监听的是节点插入,不太适用这种情况,要做的话得重新写一大段代码,感觉不是很有必要,要不还是忽略这个单词吧。
字符能复制还是直接复制,没必要都转码,输出innerText再复制大概率不会错。

40252492 发表于 2022-10-20 14:48:56

本帖最后由 40252492 于 2022-10-20 22:31 编辑

cxxjackie 发表于 2022-8-30 21:45
我测试了一下,元素能获取得到,但这个元素一开始的文本是空的,之后根据在线人数实时修改,这导致即使成 ...
多谢大佬的无私奉献、鼎力相助、开闸放水!现在网站的卡片汉化已经跟上更新进度了,接下来只要等着网站作者更新新的补充包就行啦~我建了个群,有2位斗士帮我完成了大量的卡名、能力的复制粘贴工作,也非常感谢他们!

然后,在对战中,要让玩家选择卡片时,鼠标旁边会有悬浮窗,ID是#selectCardsReminder,都是这一条div,但是内容会发生变化,只有刚进入战斗的“请等待对手”的汉化生效了,之后变得别的都没生效,看起来是要监听节点修改了QAQ

请问您有什么好方法吗?Q3Q

cxxjackie 发表于 2022-10-20 22:49:04

40252492 发表于 2022-10-20 14:48
多谢大佬的无私奉献、鼎力相助、开闸放水!现在网站的卡片汉化已经跟上更新进度了,接下来只要等着网站作 ...

试试这个:
function listeneTextChange(target, callback) {
    const mutationObserver = window.MutationObserver || window.WebkitMutationObserver || window.MozMutationObserver;
    const observer = new mutationObserver(mutations => {
      for (const mutation of mutations) {
            if (mutation.type === 'characterData') callback();
            for (const node of mutation.addedNodes) {
                if (node.nodeType === 3) callback();
            }
      }
    });
    observer.observe(target, {
      childList: true,
      characterData: true,
      subtree: true
    });
}
elmGetter.each('#selectCardsReminder', document, div => {
    listeneTextChange(div, () => {
      div.innerText = '测试文本';
    });
});
页: 1 2 3 4 5 [6] 7 8
查看完整版本: 网页文本替换汉化的油猴脚本,支持包含加粗和斜体