web-dev-qa-db-ja.com

ウェブワーカーのconsole.log

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

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

43
ejang

合意されたものはもっと良いでしょうが、プリミティブをハックすることはそれほど難しくありませんconsole.logを使用してpostMessage。 David Flanaganには、Niceラッパー here があります。

26
ebidel

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

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

制限

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

また、コンソールログ内のfirst引数のみを使用できます。

通常のコンソールログ:

_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 }));を使用することもできますが、これは循環参照オブジェクトを処理せず、オブジェクトを読みやすい形式で出力しません。

pdate:console.log(JSON.stringify(someObject, null, " "));を実行すると、stringifyできれいに印刷できます。

17
WORMSS