Closed LokChunYu closed 1 month ago
非常感谢回复。关于第一点,每次打开浏览器在输入框内首次会出现这样的问题。
非常感谢回复。关于第一点,每次打开浏览器在输入框内首次会出现这样的问题。
那我確實無法復現,我的Chrome是123,Edge是124。打開瀏覽器第一次輸入沒有問題
非常感谢回复。关于第一点,每次打开浏览器在输入框内首次会出现这样的问题。
那我確實無法復現,我的Chrome是123,Edge是124。打開瀏覽器第一次輸入沒有問題
Chrome 124,完全复现,只要新开标签页也默认光标焦点位置是在搜索框内的(比如Google、百度、淘宝),首次打字就会发现这个问题。
反正我沒法復現,等別人研究吧(Chrome已升124)
https://github.com/rime/squirrel/assets/4469383/5cfadfe7-8290-4c0b-a8bf-6f1a1bf46809
反正我沒法復現,等別人研究吧(Chrome已升124)
Screen.Recording.2024-05-05.at.10.42.30.mov
需要在Google的主页输入框上进行,标签页的话是没法复现的。
不过我刚自己试了下,其实v16.2也有一样的问题。
需要在Google的主页输入框上进行
我打開新標籤焦點默認在地址欄
需要在Google的主页输入框上进行
我打開新標籤焦點默認在地址欄
进入google首页:[https://www.google.com/],然后在主页的搜索框里输入,会复现这个问题。
確實,找到方法復現了。輪入google網址進入google,光標自動聚焦到搜索框,此時輪入,候選欄在窗口外
確實,找到方法復現了。輪入google網址進入google,光標自動聚焦到搜索框,此時輪入,候選欄在窗口外
NSRect IbeamRect = NSZeroRect;
[self.client attributesForCharacterIndex:0
lineHeightRectangle:&IbeamRect];
if (NSEqualRects(IbeamRect, NSZeroRect) && _inlineString.length == 0) {
if (self.client.selectedRange.length == 0) {
// activate inline session, in e.g. table cells, by fake inputs
[self.client setMarkedText:@" "
selectionRange:NSMakeRange(0, 0)
replacementRange:NSMakeRange(NSNotFound, NSNotFound)];
[self.client attributesForCharacterIndex:0
lineHeightRectangle:&IbeamRect];
[self.client setMarkedText:@""
selectionRange:NSMakeRange(0, 0)
replacementRange:NSMakeRange(NSNotFound, NSNotFound)];
} else {
[self.client attributesForCharacterIndex:self.client.selectedRange.location
lineHeightRectangle:&IbeamRect];
}
}
我傾向於認爲這是 Chrome 的 BUG。
selectedRange
永遠是 {0,0}
,而在 Safari 和 Firefox 上無此問題。系統輸入法有同樣的表現,認為是Chromium的問題
1、Chrome浏览器124.0.6367.119(正式版本)和edge浏览器版本 124.0.2478.80 (正式版本) ,macOS14.4.1,首次启动输入法,候选框仍在一角;
2、“检查新版本”按钮点击不起作用。