Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 功能建议:改进提词的方式 #85

Closed
3 tasks done
qzi opened this issue May 5, 2023 · 34 comments
Closed
3 tasks done

🚀 功能建议:改进提词的方式 #85

qzi opened this issue May 5, 2023 · 34 comments
Labels
enhancement New feature or request fixed in next release The issue will be closed once next release is available help wanted

Comments

@qzi
Copy link

qzi commented May 5, 2023

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过(包括已关闭的 issue),未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

https://scaledagileframework.com/built-In-quality/

这个页面选词查询会附带版权信息,所以查询的时候特别不方便,但是系统自带的那个查词却没有这个问题,所以我在猜想会不会是提词时使用的方法不一样,这不算一个bug,但是可以算功能改进吧

使用场景(可选)

在浏览的页面上查询选择的单词

实现方案(可选)

就是在页面选了啥词就查哪个词,不要附带版权信息去查询

@qzi qzi added the enhancement New feature or request label May 5, 2023
@github-actions
Copy link

github-actions bot commented May 5, 2023

Hello qzi, Thank you for your first issue contribution 🎉

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

不明白,有什么问题吗?

你是只有这个页面有问题,还是所有网页都不行?

image

@qzi
Copy link
Author

qzi commented May 5, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

不是,我知道有些网页有这种限制,但它是通过拦截快捷键 Cmd+C 实现,这不影响 Easydict 取词查询,无论自动取词,还是快捷键取词,我这里测试都是正常的。

ensure

© Scaled Agile, Inc.
Include this copyright notice with the copied content.

Read the FAQs on how to use SAFe content and trademarks here:
https://scaledagile.com/about/about-us/permissions-faq/
Explore Training at:
https://scaledagile.com/training/calendar/

image

@qzi
Copy link
Author

qzi commented May 5, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

原来如此,确实,苹果自家的 Safari 不支持 Auxiliary,所以目前在 Safari 上 Easydict 采用的是快捷键 Cmd+C 取词。

我稍后研究一下,看看有没有别的方式能绕过去。


(小声讨论一下,用 Chrome 不好吗 🥹,Safari 上好多类似问题 #41 (comment)

@qzi
Copy link
Author

qzi commented May 5, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

🫠

@qzi
Copy link
Author

qzi commented May 5, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 5, 2023

也是,我后面尝试一下吧。这问题有点难搞哦 😢

@tisfeng tisfeng added the feat label May 5, 2023
@Kerinlin
Copy link

Kerinlin commented May 6, 2023

@tisfeng 我复现了
image

@qzi
Copy link
Author

qzi commented May 6, 2023

@tisfeng 我复现了
image

你试试chrome,edge,safari,我早上在Mac上实验了这个三个都有这个问题

@tisfeng
Copy link
Owner

tisfeng commented May 7, 2023

就很奇怪,我本地在 Chrome 和 Edge 上使用都没有问题,Debug 显示它们俩都是原生支持 Auxiliary 取词,这种方式不会被网页事件 JS 篡改的。

麻烦提供一下你的测试环境:设备型号,系统版本,浏览器版本,以及复现问题详细操作步骤,如取词的具体类型(单击,双击,三击,Shift 等),方便的话,希望能录个视频,这样更容易看到问题所在。

@qzi
Copy link
Author

qzi commented May 7, 2023

captured video
https://app.screencast.com/zWguuSTg3h7z7

Mac M1,MacOS 13.3.1
image
image

@tisfeng
Copy link
Owner

tisfeng commented May 7, 2023

了解了,你这个情况,可能和 issue #84 (comment) 类似,在我的这边工作正常,但不知道为什么在你电脑上 Auxiliary 取词失败,然后自动采取了模拟快捷键 Cmd+C 方式取词,然后就被网页事件拦截了,从你视频中一闪而过的那个搜索🔍小弹窗能看出来。

这个问题还不容易解决,不像 #84 加个白名单就行,得找到导致问题的原因。但目前在我电脑上无法复现。。

image

@qzi
Copy link
Author

qzi commented May 7, 2023

了解了,你这个情况,可能和 issue #84 (comment) 类似,在我的这边工作正常,但不知道为什么在你电脑上 Auxiliary 取词失败,然后自动采取了模拟快捷键 Cmd+C 方式取词,然后就被网页事件拦截了,从你视频中一闪而过的那个搜索🔍小弹窗能看出来。

这个问题还不容易解决,不像 #84 加个白名单就行,得找到导致问题的原因。但目前在我电脑上无法复现。。

image

复现了Safari也足够了

@tisfeng
Copy link
Owner

tisfeng commented May 7, 2023

想了一下,起来好像也是。

但实际还是不一样的,Safari 是知道原因的,是它本身就不支持 Auxiliary,所以可以尝试采用 AppleScript 取词,而 Chrome 和 Edge 这些,理论上是支持 Auxiliary 取词,只是不知道为它们为什么在某些电脑上不工作。

取词方式: Auxiliary > AppleScript > 模拟快捷键

无论是性能还是用户体验上,Auxiliary 都是最优的,如果不能找出具体原因,直接用 AppleScript 肯定不是一个好的选择。更别说不同浏览器调用的 AppleScript 都不同,代码适配费心费力。

@tisfeng
Copy link
Owner

tisfeng commented May 7, 2023

行吧,既然准备支持 Safari AppleScript 取词,那就把 Chrome 和 Edge 也都支持了吧 😔

@tisfeng tisfeng added fixed in next release The issue will be closed once next release is available and removed feat labels May 7, 2023
@Jerry23011
Copy link
Collaborator

Jerry23011 commented May 8, 2023

这个我个人想可以参考 Bob 在设置里加一个选项:

取词方式

  1. 性能优先(全部使用 Auxiliary)
  2. 兼容性优先(对一些反馈上来的app使用模拟 Cmd+C / 全部使用 Cmd+C)

@Jerry23011
Copy link
Collaborator

Jerry23011 commented May 8, 2023

@tisfeng 我复现了
你试试chrome,edge,safari,我早上在Mac上实验了这个三个都有这个问题

我用 Safari 确实有这个问题,但是用 Arc (Chromium Engine Version 113.0.5672.63) 没有复现

我在 macOS 13.3.1(a)
image

@tisfeng
Copy link
Owner

tisfeng commented May 8, 2023

最新 dev 已经改进了对浏览器的取词,现在如果 Safari 和 Chrome 使用 Auxiliary 取词失败,会尝试 AppleScipt 方式取词,这种取词效果基本和 Auxiliary 一致。

虽然新加的 AppleScipt 取词功能,理论上对所有的 Chrome 内核都适用,但目前 Chrome 浏览器白名单我只加了 Google Chrome 和 Microsoft Edge,如果后续有其他类型浏览器也有问题,可以参照添加。

这个白名单,只是一种过渡方法,后续会允许用户选择哪些应用可以在 Auxiliary 取词失败时启用模拟快捷键 Cmd+C 方式取词。

https://github.com/tisfeng/Easydict/blob/dev/Easydict/Feature/EventMonitor/EZEventMonitor.m#L461

@qzi
Copy link
Author

qzi commented May 8, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 8, 2023

孤军奋战ing

这个具体是指什么?

把设置openai key后查词功能也开放一下吧

@qzi
Copy link
Author

qzi commented May 9, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 9, 2023

搜了 issue 吗,你是要这个 #28 (comment)

@qzi
Copy link
Author

qzi commented May 10, 2023 via email

@tisfeng
Copy link
Owner

tisfeng commented May 10, 2023

请问这个具体是什么表现?是选择文本的高亮背景自动消失了? 我没遇到过这问题,如果可以复现,你录个视频,我查一下 🧐

但是你的软件会马上抹除我选择的高亮文字

@tisfeng
Copy link
Owner

tisfeng commented May 10, 2023

你的问题都太简洁,太模糊了,我很难猜的 🥹

在哪个应用中?或哪个浏览器,哪个网页?选中的文本是输入框文本吗?抹除?

@qzi
Copy link
Author

qzi commented May 11, 2023

请问这个具体是什么表现?是选择文本的高亮背景自动消失了? 我没遇到过这问题,如果可以复现,你录个视频,我查一下 🧐

但是你的软件会马上抹除我选择的高亮文字

选中后高亮的文字被你的软件拦截,有时候并不需要查词,就只是想高亮突出一下也不行了,除非关掉你的软件
https://app.screencast.com/Ddwim67VTrQcE

@tisfeng
Copy link
Owner

tisfeng commented May 11, 2023

看视频明白了,选中文本高亮消失问题,其实是这个网页自己搞得鬼,它检测到复制文本动作,就把高亮去掉了 😓

这些其实都是同一个问题,都是因为你当前使用的浏览器不支持 Auxiliary 取词,而这个网页又很奇葩对模拟快捷键取词进行了拦截限制。

这类问题将会在下个版本修复,下版本在浏览器 Auxiliary 取词失败时,尝试 AppleScipt 取词。

@tisfeng
Copy link
Owner

tisfeng commented May 21, 2023

你好,新版本已修复该问题 https://github.com/tisfeng/Easydict/releases/tag/1.3.1

@tisfeng tisfeng closed this as completed May 21, 2023
@qzi
Copy link
Author

qzi commented May 22, 2023

你好,新版本已修复该问题 https://github.com/tisfeng/Easydict/releases/tag/1.3.1

刚升级了1.3.1,在safari和edge上试了下还是一样有问题

https://scaledagileframework.com/portfolio-backlog/

@tisfeng
Copy link
Owner

tisfeng commented May 22, 2023

看一下你浏览器是否允许了 JavaScript 事件,如果未授权,AppleScipt 取词失败,最后还是会模拟 Cmd+C

image image

@truebit
Copy link

truebit commented Aug 30, 2024

最新版本的easydict,firefox 129.0.2 版本也有option+d后不能获取选定字的问题。之前版本的easydict是没问题的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request fixed in next release The issue will be closed once next release is available help wanted
Projects
None yet
Development

No branches or pull requests

5 participants