2011-11-28 51 views
9

我的工作不具備日誌輸出的支持平臺上的JavaScript應用,不允許記錄器輸出打開新的窗口,有沒有像它的Firebug或Safari調試器...JavaScript的AJAX遠程記錄

到目前爲止,我在z-index 2上使用floating <div>,並且我在裏面記錄了文本,但這還不夠。我要尋找一些輕量級的JavaScript JSONP記錄器和一些PHP或Tomcat服務器副本...

感謝 斯登

回答

13

我最近偶然發現了這個演示N. Zakas的,並實現了技術解釋的存在。這是很簡單的,但恕我直言,是非常有效的

http://www.slideshare.net/nzakas/enterprise-javascript-error-handling-presentation

的想法是簡單地發出對服務器端組件的調用(我使用了.NET的處理程序,但它可能是一個PHP文件中。)這需要一些param,記錄參數值並返回1x1圖像流。我最喜歡的是,根本不需要涉及Ajax調用。

從演示文稿中的代碼如下:

function log(severity, message) { 
     var img = new Image(); 
     img.src = "log.php?sev=" + encodeURIComponent(severity) + 
     "&msg=" + encodeURIComponent(message); 
    } 

    log(1, "something bad happened"); 
+0

哇!看起來很聰明,你有一些服務器端實現它嗎?一些使用UI腳本顯示它的php/tomcat servlet?這將是很好的服務器端以及... – STeN

+0

不幸的是沒有PHP代碼,但它應該是相當簡單的:只需抓住PARAMS並調用日誌處理程序。 – mamoo

+1

我相信它應該是img.src ** = **「log.php」,而不是img.src ** + ** log.php。 –

3

來託管自己的服務器日誌的另一種可能是JSConsole.com。這是一個通用的JavaScript遠程調試器。只需註冊一個偵聽器,將其生成的腳本標籤粘貼到您的頁面中,然後在任何設備上觸發一個實例。調試器是雙向的,所以不僅日誌記錄被轉發到JSConsole上的遠程控制檯,您可以完全訪問遠程客戶端上的JS環境。