49

それは私だけですか、それともconsole.log()HTML5 Webワーカーに求めるには多すぎますか?

DOMの操作は潜在的に危険であるためブロックされていることは知っていますがconsole.log()、マルチスレッドワーカーによって悪意を持って悪用される可能性は本当にありますか?

4

2 に答える 2

29

console.log合意されたものの方がはるかに優れていますが、を使用してプリミティブをハックするのはそれほど難しくありませんpostMessage。David Flanagan の素敵なラッパーがここにあります

于 2011-08-31T04:36:59.173 に答える
24

少なくとも Chrome ブラウザ内で console.log が可能になったことを投稿したかっただけです。

追加されたバージョンはわかりませんが、35.0.1916.153 m に含まれています。

制限

ただし、小さな制限があります。プリミティブ (文字列、数値、ブール値) のみを出力できる場合があり、場合によっては 1 次元配列になります。

また、コンソール ログ内の最初の引数のみを受け取ることができます。

通常のコンソール ログ:

console.log("status:", _status); // status: working
console.log({ status: _status }); // { "status": working }

ワーカー コンソール ログ:

console.log("status:", _status); // status:
console.log({ status: _status }); // [object Object]

使用できますconsole.log(JSON.stringify({ status: _status }));が、これは循環参照オブジェクトを処理せず、きれいで読みやすいオブジェクトに出力されません。

更新: stringify を実行すると、きれいな印刷物を取得できますconsole.log(JSON.stringify(someObject, null, " "));

于 2014-06-18T11:49:37.807 に答える