0

マークアップを変更せずに、テキストの色を変更したり、テキストを変換(下線、太字など)したりするブラウザの拡張機能を作成できるかどうか疑問に思いました。

例として:

HTML

<p>Extensions use JS, and have to modify the DOM<p>

デフォルトのレンダリング

拡張機能はJSを使用し、DOMを変更する必要があります

必要なレンダリング

拡張機能はJSを使用し、DOM変更する必要があります

これで、拡張機能がDOMを変更できることがわかりました。必要なものを取得するには、次のようなものを取得できます。

<p>Extensions use JS, and <html:span style="font-weight: bold; font-style: italic;">have</html:span> to modify the DOM</p>

ですから、私がやろうとしているのは、マークアップをまったく変更しないことです。これは、ページで「検索」を実行しているときに得られる「すべてを強調表示」機能のようなものです。

現在のソリューション

私の問題の実行可能な解決策として適合する拡張機能を見つけました: それはすべてテキストです!

マークアップを変更せずにネイティブブラウザを強調表示したいのですが、これで問題ありません。

4

2 に答える 2

0

CSSを挿入して、既存のマークアップの動作を変えることができます(たとえば、すべての要素p { font-weight:bold; }を太字にする、クラスですべての要素を変更するなど)が、目的を達成するための拡張レベルの方法はほぼ確実にありません。ページ上の任意のテキストを変更する場合は、ページのマークアップを変更する必要があります。<p>.foo { background-color: green }foo

必要なことを行う唯一の方法は、低レベルのコードをハックして、実際にWebKitとGeckoの一部を書き直して、HTMLが本来とは異なる方法でレンダリングされるようにすることです。

于 2012-09-12T03:52:00.180 に答える
0

私の問題の実行可能な解決策として適合する拡張機能を見つけました: それはすべてテキストです!

マークアップを変更せずにネイティブブラウザを強調表示したいのですが、これで問題ありません。

これにより、ページからエディターにプルされ、同期されます。美しく動作します。

于 2012-10-24T19:47:44.497 に答える