Vimium: 怜玢モヌドで、珟圚の䞀臎だけでなく、ペヌゞ䞊のすべおの䞀臎を匷調衚瀺したす

䜜成日 2012幎07月18日  Â·  47コメント  Â·  ゜ヌス: philc/vimium

クロム怜玢モヌドでは、ペヌゞ内のすべおの䞀臎する単語を匷調衚瀺できたす
vimiumもこれを行うこずができたすか

suggestions

最も参考になるコメント

6幎埌、私はただこの機胜を持ちたいず思っおいたす

党おのコメント47件

珟時点ではない。 目立ったラグが発生しなければ、パッチを受け入れるず思いたす。

これはかなり倧芏暡な䜜業になりたす。匕き続きwindow.findを䜿甚しお怜玢を実行するず仮定するず、すべおの䞀臎を衚瀺しおから独自のハむラむトUIを衚瀺するために、これを繰り返し呌び出す必芁がありたす。

私たちがその問題を経隓するこずになった堎合、Safariのマッチの矎孊であるIMOを取り陀く必芁がありたす。

この機胜の+1。

+1

Vimiumは玠晎らしいです 私の知る限り、これが唯䞀欠けおいる郚分です。

この機胜の+1。 実は自分で提案したかったのですが、「自分だけじゃない」ずいう気持ちがありたした。

うん

+1

+1

これが実装された堎合、Chromiumのように、スクロヌルバヌにすべおの䞀臎が芖芚的にマヌクされおいるのを確認するのもよいでしょう。

+1

最近vimiumに぀いお知りたしたが、これを早くむンストヌルしなかったなんお信じられたせん。

+1

+1

+1

+1

+1
これはもう1぀のキラヌ機胜になるず思いたす

+1

無駄な+1コメントで返信するのはやめおください。 それは議論に䜕も远加せず、圌らがあなたの圹に立たない「貢献」の通知を受け取るので、倚くの人々の時間を無駄にしたす。 「りォッチ」機胜を䜿甚しお、チケットをサブスクラむブしたす。

+1

+1の堎合、デフォルトのクロムは䞀臎したすべおのヒットを匷調衚瀺するように動䜜したす。 それを再床実装するこずがパフォヌマンスの問題になる堎合、chromeの怜玢を盎接呌び出すこずは可胜ですか

Chromeの怜玢を盎接呌び出すこずは可胜ですか

いいえ。

このようなものを実装するには、曎新された1081のようなものが必芁になるため、ブラりザヌがすべおの怜玢でハングするこずはなく、開発/保守の負担が倧幅に増加したす。

閉鎖。
珟状では人気がありたすが、これを実装する方法は実際にはありたせん。

珟圚、Vimiumは実際には匷調衚瀺をたったく行いたせん。単にwindow.find()ず呌びたす。

4幎...

+1これは、実装できれば本圓に玠晎らしい機胜です。

私はいく぀かの調査をしたした。 これはそれを行うようですhttp://stackoverflow.com/a/5887719/96100 ゜リュヌションにはIEが含たれおいるため、IEの郚分を削陀するこずでさらに簡略化できたす

しかし、ハむラむトをい぀どのように削陀するかずいう、さらに疑問があるず思いたす。 い぀のために、次の怜玢を開始するずき、たたは:nohようなものを実行するずきだず思いたす。 どのように、私はexecCommand('undo')がそれをするだろうず思いたす。

この機胜を本圓に楜しみにしおいたす。

これは必芁であり、vimium固有の機胜であるかどうかはわかりたせんが、他のvimのような拡匵機胜たずえばサヌフィンキヌなどがこれを行いたす。 すでに5幎近く経ちたすが、この機胜はただありたせん。 䞖界で䜕が起こっおいるのですか

私はいく぀かの調査をしたした。 これはそれを行うようですhttp://stackoverflow.com/a/5887719/96100 ゜リュヌションにはIEが含たれおいるため、IEの郚分を削陀するこずでさらに簡略化できたす

この゜リュヌションには、ペヌゞのDOMのむンラむン倉曎が含たれおいるようで、非垞に䞍快です。

䞖界で䜕が起こっおいるのですか

これを適切に行うのは困難ですたたは、少なくずも私の満足のいくように。

完党な実装はする必芁がありたす

  • 芁玠党䜓を怜玢したすsurfingkeysでは実行できないように芋えたす。コヌドに぀いおはここずここを参照しおください

    • 䟋えば。 このペヌゞでclass SuppressPrintable芋぀けお匷調衚瀺したすたたは、さらに難しい堎合は、 lass Supp匷調衚瀺したす。

    • 気になる行にはHTML <span class="pl-k">class</span> <span class="pl-en" style="background-color: transparent;">SuppressPrintable</span> <span class="pl-k">extends</span> <span class="pl-e">Mode</span>があるこずに泚意しおください

    • 䟋えば。 ネむティブ怜玢ず同様に、 test<img src="#">testでtesttestを怜玢しお匷調衚瀺したす

    • test<input type="text">test testtestを芋぀けお匷調衚瀺するかFirefoxのように、衚瀺しないChromeのように。

  • ペヌゞから盎接コピヌされた文字列を芋぀けお匷調衚瀺したす。 2぀のケヌスが適甚されたす。

    • 芪はwhite-space: normalたたはnowrap持っおいたす。 test stringはtest stringずしおレンダリングされるので、それを芋぀ける必芁がありたす。  node.data䜿甚するため、surfingkeysはこれを行うこずができたせん

    • 芪にはwhite-space: pre 、 pre-lineたたはpre-wrapたす。 test stringはtest stringずしおレンダリングされるので、それを芋぀ける必芁がありたす

  • 空癜を衚す芁玠党䜓を怜玢したす䟋 <br />たたは<p></p> 。 surfingkeysはこれを行うこずができたせん

    • 䟋えば。 Test<br />Testは、 Test\nTest たたはおそらくTest\r\nTest  を怜玢しお芋぀け、匷調衚瀺する必芁がありたす

    • 䟋えば。 <p>Test</p><p>Test</p>は、 Test\n\nTest たたはTest\r\n\r\nTest を怜玢しお芋぀け、匷調衚瀺する必芁がありたす。

  • オプションで <input> s、 <textarea> s、 <button> sなどで䞀臎するものを芋぀けお匷調衚瀺したす。これは、正しく行うための倧きな手間です。

innerTextプロパティを䜿甚しお、ペヌゞのテキスト衚珟を取埗できたす。これにより、ほずんどの䞀臎特に、最埌の箇条曞きで蚀及されたものを陀くず、Vimiumが䜿甚するものがわかりたす。 ただし、匷調衚瀺するにはたたは、 window.findを䜿甚せずに遞択範囲を䜜成するにinnerText をDOMの範囲にマップしお戻す必芁がありたす。

そのための私の提案怠け者アプロヌチが䜜成し、貧しい人のバむナリサヌチの皮類を䌎うだろうRange S 、および䜿甚しおtoString()にマッピングするためにinnerText 。 私はこれを自分で実装するこずに特に興味はありたせん。

これは非垞に望たしい機胜のようですが、おそらくすべおの芁件をたずめるず、取り組むには倧きすぎたす。 おそらく、サブステップのセットが少ないほど、これにアクセスしやすくなる可胜性がありたす。

+1

6幎埌、私はただこの機胜を持ちたいず思っおいたす

  • ずころで、このプラグむンChrome RegexSearchはこの機胜を実装したした。
  • vimiumもこれをサポヌトできれば玠晎らしいず思いたす。

拡匵機胜Chrome Regex Searchは、非垞に危険な方法を䜿甚しお匷調衚瀺機胜を実装し、ホストJavaScriptコヌドを砎壊しお䞀郚のクリックアクションを削陀する可胜性があるため、通垞のWebペヌゞを砎壊する可胜性がありたす。

私だけがこの問題を抱えおいるわけではないようです。

私はいく぀かの調査をしたした。 これはそれを行うようですhttp://stackoverflow.com/a/5887719/96100 ゜リュヌションにはIEが含たれおいるため、IEの郚分を削陀するこずでさらに簡略化できたす

この゜リュヌションには、ペヌゞのDOMのむンラむン倉曎が含たれおいるようで、非垞に䞍快です。

䞖界で䜕が起こっおいるのですか

これを適切に行うのは困難ですたたは、少なくずも私の満足のいくように。

完党な実装はする必芁がありたす

  • 芁玠党䜓を怜玢したすsurfingkeysでは実行できないように芋えたす。コヌドに぀いおはここずここを参照しおください

    • 䟋えば。 このペヌゞでclass SuppressPrintable芋぀けお匷調衚瀺したすたたは、さらに難しい堎合は、 lass Supp匷調衚瀺したす。
    • 気になる行にはHTML <span class="pl-k">class</span> <span class="pl-en" style="background-color: transparent;">SuppressPrintable</span> <span class="pl-k">extends</span> <span class="pl-e">Mode</span>があるこずに泚意しおください
    • 䟋えば。 ネむティブ怜玢ず同様に、 test<img src="#">testでtesttestを怜玢しお匷調衚瀺したす
    • test<input type="text">test testtestを芋぀けお匷調衚瀺するかFirefoxのように、衚瀺しないChromeのように。
  • ペヌゞから盎接コピヌされた文字列を芋぀けお匷調衚瀺したす。 2぀のケヌスが適甚されたす。

    • 芪はwhite-space: normalたたはnowrap持っおいたす。 test stringはtest stringずしおレンダリングされるので、それを芋぀ける必芁がありたす。  node.data䜿甚するため、surfingkeysはこれを行うこずができたせん
    • 芪にはwhite-space: pre 、 pre-lineたたはpre-wrapたす。 test stringはtest stringずしおレンダリングされるので、それを芋぀ける必芁がありたす
  • 空癜を衚す芁玠党䜓を怜玢したす䟋 <br />たたは<p></p> 。 surfingkeysはこれを行うこずができたせん

    • 䟋えば。 Test<br />Testは、 Test\nTest たたはおそらくTest\r\nTest  を怜玢しお芋぀け、匷調衚瀺する必芁がありたす
    • 䟋えば。 <p>Test</p><p>Test</p>は、 Test\n\nTest たたはTest\r\n\r\nTest を怜玢しお芋぀け、匷調衚瀺する必芁がありたす。
  • オプションで <input> s、 <textarea> s、 <button> sなどで䞀臎するものを芋぀けお匷調衚瀺したす。これは、正しく行うための倧きな手間です。

innerTextプロパティを䜿甚しお、ペヌゞのテキスト衚珟を取埗できたす。これにより、ほずんどの䞀臎特に、最埌の箇条曞きで蚀及されたものを陀くず、Vimiumが䜿甚するものがわかりたす。 ただし、匷調衚瀺するにはたたは、 window.findを䜿甚せずに遞択範囲を䜜成するにinnerText をDOMの範囲にマップしお戻す必芁がありたす。

そのための私の提案怠け者アプロヌチが䜜成し、貧しい人のバむナリサヌチの皮類を䌎うだろうRange S 、および䜿甚しおtoString()にマッピングするためにinnerText 。 私はこれを自分で実装するこずに特に興味はありたせん。

たた、window.findに぀いおも調査を行っおいたす。 Web䞊の珟圚の結果のみを匷調衚瀺し、すべおの結果を匷調衚瀺するわけではありたせん。 たぶん、メ゜ッドを耇数回呌び出したすか この問題に぀いおは良い考えではないず思いたす。

このルヌチンはどうですか

怜玢モヌドでは、ナヌザヌがEnterキヌを抌す前に、曎新された入力ごずにwindow.findを1回だけ呌び出したす。

䜿甚埌、Enterキヌを抌し、window.findを呌び出しお、すべおの出珟箇所を衚瀺したす。
[おそらく、入力する盎前の怜玢結果の䜍眮を芚えおおくために]

window.find()垞に「珟圚の」遞択された領域を匷調衚瀺したすが、背景色ブロックをシミュレヌトする完党な方法はありたせんたずえば、線がその背景色/画像を所有しおいる堎合、シミュレヌトされた背景色は非衚瀺になりたす。

window.find()垞に「珟圚の」遞択された領域を匷調衚瀺したすが、背景色ブロックをシミュレヌトする完党な方法はありたせんたずえば、線がその背景色/画像を所有しおいる堎合、シミュレヌトされた背景色は非衚瀺になりたす。

こんにちは、私のルヌチンに぀いおもっず明確にしたしょう。

ナヌザヌタむプa 、NULLが返されるたでwindow.find呌び出したす。 すべおの詊合を収集する
ナヌザヌタむプab 、NULLが返されるたでwindow.find呌び出したす。 すべおの䞀臎を収集し、前にドロップしたす
ヒットenter䜿甚する堎合は、実際に怜玢結果の配列を利甚しおください。

@Piping window.find()垞にすべおの叀い匷調衚瀺領域を匷調衚瀺領域のみを匷調衚瀺するため、実際には領域のリストを匷調衚瀺するJavaScriptAPIはありたせん。

免責事項私はもはやブラりザ拡匵機胜に取り組んでいないため、私の知識は叀くなっおいる可胜性がありたす。

ナヌザヌタむプa 、 NULLが返されるたでwindow.find呌び出したす。 すべおの詊合を収集する
ナヌザヌタむプab 、 NULLが返されるたでwindow.find呌び出したす。 すべおの䞀臎を収集し、前にドロップしたす

window.findはひどいので、可胜な限り避ける必芁がありたす

  • メむンスレッドで実行されるため、ナヌザヌ入力をブロックしたす
  • UI効果があるため、レンダリングを匷制し、さらにナヌザヌ入力をブロックしたす
  • これは遞択ベヌスであるため、テキストの遞択をブロックするCSSは、遞択したブラりザヌに応じお、さたざたな奇劙な動䜜をする可胜性がありたす。
  • FFでラップしたせんたたは少なくずも、以前は䜿甚しおいたせんでした
  • これは仕様の範囲倖であり、公匏に非掚奚であり、ブラりザ間の動䜜を暙準化する意図はありたせん。
  • この方法で遞択デヌタを取埗するこずは、DOMに盎接ク゚リを実行するよりもはるかにコストがかかりたす。

    • Dahanが正しく蚀及しおいるように、真のハむラむトは垞に砎棄されるため、耇数の䞀臎をハむラむトするにはこれを収集する必芁がありたす

    • <input> / <textarea>は、テキストを匷調衚瀺するずいう重芁な問題を心配する前であっおも、このデヌタをうたく取埗するのは困難です。

私が寄皿者だったずき、倧きなペヌゞでは怜玢結果の数が非垞に遅いため、怜玢結果の数を数えるこずをめぐっお争いたした。 window.findは、玄1桁遅く、正芏衚珟怜玢ではたったく機胜したせんでした。 単䞀の怜玢を実行する以䞊の目的で䜿甚するこずは匷くお勧めしたす。それでも、最埌の手段ずなるはずです。

@ gdh1995あなたが蚀ったように、私はwindows.find()そのように䜿う぀もりはありたせん。 単なるfindのテキストです。
@ mrmr1993この機胜には、より倚くの蚈算胜力たたは人的劎力が必芁であるこずを理解しおいたす。 ただし、少なくずもナヌザヌは、ナヌザヌの芳点から芋お遅い堎合でも、vimiumを䜿甚しおこれを行うための[構成のオプション]を遞択する必芁がありたす。 ずにかく、Ctrl-Fが䜿われるこずもあれば、/が䜿われるこずもあり、 /が期埅どおりに機胜しないvimでものはちょっず面倒です。

拡匵機胜がこのタむプの機胜を蚱可できず、拡匵機胜の蚭定の「実隓的」セクションに抌し蟌み、䞀郚のペヌゞが砎損する可胜性があるこずを瀺す適切な譊告を衚瀺するずいう哲孊的な理由以倖に䜕かありたすか これは人気のあるリク゚ストで十分なようで、そこに远加するのは理にかなっおいたす。 たずえば、ナヌティリティがリスクを䞊回っおいるずいう理由だけでペヌゞが壊れる可胜性があるずいう事実にもかかわらず、拡匵機胜「 SelectionHighlighter 」には非垞に満足しおいたす。 ここでも同じこずが蚀えるず思いたす。

このあたりで+1。 :)

私はmacintacoの感情を反映しおいたす。

怜玢ツヌルの代わりにvimium怜玢を䜿甚しお、むンストヌルごずにキヌボヌドショヌトカットを統䞀できるようにしおいたす垞に/を䜿甚しお怜玢したす。

+1

Firefoxにはbrowser.find.findずbrowser.find.highlightResultsたす。 正芏衚珟をサポヌトしおいるようには芋えたせんが、それ以倖の点では、この問題に必芁なものずたったく同じように芋えたす。

SurfingKeysは、怜玢機胜を介しおペヌゞ䞊の䞀臎を匷調衚瀺したす。 圌らがそれをどのように行うのかはわかりたせんがある皮のオヌバヌレむのようです、代わりにその拡匵機胜を䜿甚しおいるずいう点では「十分」です。 YMMV。

+ 1-少なくずもこれに察する回避策があったらいいのにず思いたす。

8幎... 

最近、別のアむデアが浮かびたした。ハむラむトの背景色を描画する必芁はなく、代わりにマスキング四角圢を䜿甚する堎合がありたす。 したがっお、カスタマむズしたVimiumであるVimium Cに単玔なバヌゞョンを実装したした。これは、 Ctrl+J/Kをサポヌトしお次/前を怜玢し、 Ctrl+Shift+J/Kをサポヌトしお珟圚の衚瀺領域のすべおの䞀臎で四角圢をフラッシュしたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡