好了,這裏就是我想要做什麼:複製/重寫JavaScript的執行console.log功能
- 我建立一個Javascript成爲>可可/ Objective-C的橋(一個微小的實際測試)這意味着我可以從JavaScript代碼中調用Objective-C函數。
- 面臨的一個問題是,從
console.log
的消息/錯誤/日誌/等是不可見的,所以他們將被轉發到相應的可可功能(我創建了一個像- (void)log:(NSString*)msg
它只需要一個參數作爲字符串和打印它出
現在Xcode的控制檯窗口中,事情是我怎麼複製100%什麼console.log
不+將該消息轉發到我自己的log
功能?
這是我到目前爲止已經完成:
的Javascript
console.log = function(text) {
API.log_(text);
}
Objective-C的
- (void)log:(NSString*)msg
{
NSLog(@"Logging from JS : %@", msg);
}
如果 「文本」 是一個簡單的文本字符串調用console.log("something")
時,那麼它工作正常。如果我將console.log函數傳遞給一個對象,那麼它不能按預期工作(例如,在Chrome的Javascript控制檯窗口中)。
你會怎麼做呢?
是否有可能得到console.log
將通常打印出來的字符串輸出?
P.S.我嘗試了一下JSON.stringify(obj, null, 4)
,但它看起來似乎不對。有任何想法嗎?
非常感謝! ;-) – 2014-09-06 13:27:13
@ Dr.Kameleon任何時間:) – 2014-09-06 13:30:07