【搜索酱插件版】 - 右键搜索/划词搜索/拖拽搜索/模拟点击/页内高亮

我覺得小眾的劃詞介面在這方面的問題上處理的很好
一旦磁貼超出畫面範圍外,只要畫面中還有框選對象
會自動跟隨對象跑回畫面內

希望可以借鑑這個思路


感謝建議,但我還是不想更改目前的邏輯。
如果參照小衆論壇的引用標簽這樣在選區上下方來做會有很多不可控的意外,包括且不限於我上面提到的竪排輕小説,因此你可以看到目前幾乎所有劃詞插件采用的都是這類跟隨鼠標的方案(例如 ContextSearch web-ext , selection search)
建議你勾選“ 滑鼠移開時自動隱藏”,這樣你可以用鼠標掠過磁貼來隱藏磁貼。

另外,求個五星啊,拜托了 :pray:

我主要是想規避圖中的這種問題

個人還是喜歡磁貼的設計,工具欄的我反而看不太懂
((或者說我以為我懂了,但是操作不起來

視覺角度來說,我以為工具欄和磁貼的配合是這樣的:

磁貼給予實際的互動,左邊的工具欄保持隱藏
等鼠標接近時會顯現出來,然後可以直觀的切換磁貼的功能組
比方說我切換成了翻譯組,磁貼的功能區就全部剩下翻譯按鈕

不過我實際操作起來,搜索醬的邏輯比較像是事先設定好
然後依照選擇的客體,磁貼顯示對應的功能

我也注意到了,搜索醬的介面邏輯主要是降低滑鼠的移動距離
那是否可以改成跟隨對象的選區末端?
如此一來磁貼就不用隨著滑鼠未放開左鍵,而產生更多無效移動距離
也能跟其他的劃詞介面形成良好交互

感謝提供意見,請問【對象的選區末端】具體是指什麽位置?能否給個示意圖?

Clip_20231227_082708

大概是這樣,小眾的話是貼齊上方
搜索醬有更廣泛的網頁需求,可以貼齊下方,也就是這個位置
如此一來,當我框選完畢後,無論不放左鍵移動多遠
具體的界面交互位置就會是靠近圖中最後框選到的"互"字
從而在實現低移動距離的情況下,與其他划詞完美平行

竟然默认就有Firefox插件,我哭死

實現倒是不難,截取最後一行模擬選擇后獲取選區位置就行,但是有兩個問題:

  1. 效率,這樣做會產生額外開銷。
  2. 兼容性,若是從下往上劃選呢?那麽滑鼠移動距離只會變大,另外搜索醬并非固定出現在滑鼠上方的。如果劃詞區域位於屏幕上方,則出現位置會在滑鼠下方。此外你提及的小衆論壇劃詞框僅是個例,其他網站可能有不同的邏輯,搜索醬是通用插件,不能一一適配。

除開我上方的建議,你還可以這樣做:

  1. 關閉劃詞立即顯示,使用快捷鍵+右鍵喚出
  2. 開啓“最小化搜尋磁貼”,劃詞後僅會出現單個圖標

最後再次感謝你的細緻反饋。

  1. 額外開銷的部分,具體是什麼樣的我不清楚,就不發表意見了

  2. 兼容性的部分,我認為這方面的建議並非為了改變基礎邏輯
    而是在已有的基礎上,額外增加的設置
    ~
    至於豎排的版面問題,以及上至下、下至上的劃選
    也有個簡單的解決方案,那就是不跟隨鼠標的情況下
    也能參考鼠標座標,來決定磁貼出現的位置
    比方說上至下,滑鼠就會出現在離末端較近的位置,那就顯示在末端位
    反之亦然,並不需要特別判斷究竟是往哪個方向劃選
    白話來說就是始終跟隨劃選對象,但詳細的位置參照鼠標

至於另外兩種做法,個人感覺並不能很好的解決問題
磁貼是生產力所在,而問題僅僅發生於位置方面的衝突
那麼改變它的出場方式和表現形式只能算作一種妥協
而沒有真正解決問題

前面説過了呀,因爲你這個邏輯走不通。假如現在有個網站就恰好把劃詞框放在末尾或者開頭呢?我再去兼容它?我怎麽可能保證恰好避開介面上所有元素?那麽最後豈不是要根據域名一個一個寫規則?

你所説的簡單解決方案也一點都不“簡單”呀,例如我沒有框選内容,在圖片或者鏈接上直接喚出磁貼,位置又如何處理?再加一套邏輯?就成 if else 地獄了啊,那樣程式也太醜陋了。

所以這個東西就討論到這吧,不好意思啊你沒有説服我。

看來是我草率了,感謝回應。

特地安装了一下并打了五星,感谢大佬的付出。

1 个赞