0

クローム拡張機能を開発中です。ブートスラップのCSSの注入はページに影響します

単語をダブルクリックすると、show popoverが必要です。したがって、私はブートストラップポップオーバーを注入します:

"content_scripts": [ 
    { 
     "matches": ["*://*/*"], 
     "js": ["3rdparty/jquery-3.2.1.min.js", 
       "3rdparty/bootstrap-3.3.7.min.js", ...], 
     "css": ["3rdparty/bootstrap-3.3.7.min.css"], 
     "run_at": "document_end" 
    } 
    ] 

しかし、この注入はいくつかのページに影響します。アーティファクトが出現することがあります。
どのようにしてポップオーバーを正しく挿入できますか?

+1

*してください*と**すべての**ページ( 'content_scripts'へのjQueryをロードしません。あなたの 'マッチ')あなたが**必要** **しない限り。 jQueryは最小化されたコードの85キロバイトです。これは、すべての単一ページ*に鞍を打つことに重大な負担です。タブが100個開いている私たちの何人か?ユーザーが自分の内線番号とのやりとりを開始できるようにするために必要な最小限のものだけを注入してください。その後、ユーザーが一度選択すると、さらに注入します。最小限の部分は、最小限のバニラJavaScriptイベントハンドラと1つまたは2つのUI要素になります。 – Makyen

+0

@Makyen、ありがとうございました!これは現在の最適化段階ではありませんが、これを考慮に入れます。 100タブの場合、オーバーヘッドは8.5miBになります(私の拡張では12miBが正確です)。すべてのタブで撮影したメモリと比較してもそれほどですか? – MrPisarik

+0

さて、20以上のウィンドウ(現在は表示されていません)には700以上のタブがあり、現在アクティブな27​​個の拡張機能(現在は無効になっている40個以上の拡張機能)がありました。したがって、これらのアクティブ拡張のすべてが無差別にコードをロードしていた場合、(最小限のコードの)1.5GiBになります。 85キロバイトは、メモリと各URLにロードするのに必要な追加のコンピューティングリソースを含む、必要な全体的なリソースのゲージです。これらのライブラリは、通常、ページが表示される前に読み込まなければなりません。これは、ブラウザがどの程度反応しているかというユーザーの認識に影響します。 – Makyen

答えて

関連する問題