0

私は、共感覚者になるように人々を訓練しようとしている実験を行っています (彼らは、数字や文字に関連する色の追加の経験を持っています)。

Firefox などの Web ブラウザーを変更する最も簡単な方法について誰かアドバイスがあれば、Web 上でアクセスしたページで AJ の 10 文字だけが常に特定の色で表示されるようにする方法を教えてください。

とても有難い

4

3 に答える 3

0

これは、潜在的な解決策のベータ版の青写真の予備的な形式の抽象的なラフ ドラフトですjavascript:。次のように、ブックマーク内のリンクのプレフィックスを使用します。

  1. ブックマーク ツールバーに新しいエントリを作成する
  2. URL 入力で、次の行をコピーして貼り付けます。javascript:var html = document.body.innerHTML; html = html.replace(/([a-j])/ig, '<span style="color: red;">$1</span>'); while(html.match(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g) != null) {html = html.replace(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g, '$1$2$3');} document.body.innerHTML = html;
  3. ブックマークに名前を付けて (「AJ to red」など)、保存します。
  4. 任意の Web サイトにアクセスしてそのブックマークをクリックすると、a と j の間のすべての文字が赤で表示されます。

よりダイジェストな方法で:

// get the content of the body
var html = document.body.innerHTML;
// surround any letter between a and j by a <span></span>
html = html.replace(/([a-j])/ig, '<span style="color: red;">$1</span>');
// but it also replaces a-j letters within html tags
while(html.match(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g) != null) {
    // so if there are html tags within other html tags, delete the created <span></span>
    html = html.replace(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g, '$1$2$3');
}
// and replace the innerHTML of the body
document.body.innerHTML = html;

それは本当に最終的な解決策ではありませんが、結果を改善するためにそれに取り組むことができるかもしれません.

PS:IEで試さないでください...

于 2012-08-23T16:24:52.247 に答える
0

これを行うには多くの方法があります (クロスブラウザー):

たとえば、スタイルシートで要素を別の色に定義できます。ドキュメントをロードするとき、JavaScript/jQuery を介してドキュメント全体 (ただし のようなタグのコンテンツのみ) をチェックして、指定した文字を探し、それらの周りに -tag fe を追加します。

最善の解決策ではありませんが、方法です。

于 2012-08-23T15:02:31.873 に答える
0

この種のことを行うために設計された FireFox プラグインであるGreasemonkeyを見てください。http://userscripts.org/には、事前に作成されたスクリプトが多数用意されており、そのうちのいくつかは、独自のスクリプトを記述して 1 文字の色を変更する方法を理解するのに役立ちます。

于 2012-08-23T15:20:45.637 に答える