亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

捕獲javascript console.log?

捕獲javascript console.log?

繁花不似錦 2019-08-27 16:21:59
捕獲javascript console.log?當我的JS應用程序寫入console.log時,我想捕獲該日志消息,以便我可以將AJAX記錄輸出到服務器。我怎么做?寫入日志的代碼來自外部服務,這就是我不能直接使用它的原因。
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

您可以通過以下方式劫持JavaScript函數:

(function(){
    var oldLog = console.log;
    console.log = function (message) {
        // DO MESSAGE HERE.
        oldLog.apply(console, arguments);
    };})();
  1. 第1行將您的函數包裝在一個閉包中,因此沒有其他函數可以直接訪問oldLog(出于可維護性的原因)。

  2. 第2行捕獲原始方法。

  3. 第3行創建了一個新功能。

  4. 第4行是您發送message到服務器的位置。

  5. 第5行調用最初處理的原始方法。

apply使用這樣我們就可以調用它 console使用原來的參數。簡單地調用oldLog(message)會失敗,因為它log取決于它的關聯console。


更新下面的每個zzzzBov的評論,在IE9 console.log中實際上并不是一個函數,所以oldLog.apply會失敗。有關更多詳細信息,請參閱console.log.apply無法在IE9中運行。


查看完整回答
反對 回復 2019-08-27
  • 2 回答
  • 0 關注
  • 397 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號