7

学校のプロジェクトでは、コンソール ウィンドウから入力され、そこから実行される JavaScript を実行しています。このスクリプトは Web ページを操作し、結果をコンソールに出力します。

問題: これらの結果を永続的な方法で保持/保存し、ブラウザを閉じたり、スクリプトの誤動作/ページのリロード、または可能であれば PC のクラッシュによって消えたりしないようにします。

Log4js や jStorage (jQuery Storage) などのフレームワークを使用することも考えましたが、これは私が操作している私の Web サイトではないため、ページにコードやマークアップを追加することはできません。

これを行う方法はありますか?

注: 結果をコンソールに記録することは重要ではありません。結果をどこかに送信したり、記録が容易になる場合は別のことを行ったりすることができます。

ありがとう。

4

3 に答える 3

9

ログをWebStorageに保存する小さな関数を次に示します (ブラウザー セッション間で保持されます)。

console.plog = function () {
    var key = Date.now();
    var value = JSON.stringify([].slice.call(arguments));
    localStorage.setItem(key, value);
    console.log.apply(console, arguments);
}

ログを復元するには、次の式を実行する必要があります。

(function restoreLogs() {
    var timestamps = Object.keys(localStorage).sort();
    timestamps.forEach(function (ts) {
        var logArgs = JSON.parse(localStorage.getItem(ts));
        console.log.apply(console, logArgs);
    });
}());
于 2012-04-19T07:52:43.460 に答える
8

Chromeコンソールにすべてを自動的に保存する場合は、次のオプションを使用してChromeを実行する必要があります。

--enable-logging --v=1

chromeの完全なログをデータディレクトリ内に保存します(ファイルは実行ごとに上書きされることに注意してください)。詳細はこちら

別の方法: SawbuckユーティリティをインストールしてChromeログを管理します。

于 2012-04-18T12:55:07.383 に答える
1

使用console.error(arg);-コンソールメッセージをブラウザに送信しますstderr(リリースビルドでも送信されると確信しています)。

コマンドラインからブラウザを起動し、stderrファイルにリダイレクトします(の行に沿ったものchrome 2>errlog)。

于 2012-04-18T12:51:44.250 に答える