私は小さな単一ページのアプリ (knockout.js を使用して :-)) を書いています。これにより、一連の JavaScript コードの例が得られます。このコードは関数にラップされており、関数で toString を呼び出して、ブラウザーにソース コードを表示します。
全体として、すべてがうまく機能します!ただし、例の性質上 (学習演習として)、通常は冗長と見なされるコードが含まれています。たとえば、次のコードは、javascript で false-y 値を示す例です。
var example = function() {
if("" || 0 || null || undefined || NaN) {
console.log("i'll never be logged");
}
else {
console.log("i'll always be logged");
}
};
Firefox では、example.toString()
返された文字列に が含まれていない場合0
、null
または""
- そのため、私の例は正確に描写されていません! ただし、IE では、前述の値はtoString()
呼び出しの結果に含まれますが、文字列は 1 行だけで、インデントなどはありません。
だから私が疑問に思っていたのは
1.より可能性の高い解決策: JavaScriptコードの長い1行の文字列が与えられた場合、書式設定/インデントを処理するJS実装のコードハイライターを誰もが知っています。または、この種の機能を提供するための単純な拡張性を可能にするハイライター
- 可能性が低い解決策:誰かがFFで正確な結果を得る方法を知っているか、または適切に
アプリを完璧にしたい結果が得られないのは本当にイライラします:)
編集:私は密集していたようです.IEは正しくフォーマットされています.アプリをビルドするときに使用していた基本的な例では、関数を1行として宣言したため、フォーマットは正確に引き継がれました! したがって、Web の歴史の中で一度だけ、IE は問題なく期待どおりに機能します :) Firefox が文字列表現からコードの特定の部分を削除する理由を誰かが提供してくれるとうれしいです