假設我有一個Mac OS X應用程序,它鏈接到WebKit並使用WebView來顯示Web內容。OS X上的WebKit:如何在WebView中檢測到對pushState()的JS調用?
如果此web視圖中的JavaScript調用window.history.pushState()
方法,如何在Objective-C中檢測到這一點?
理想情況下,我正在尋找類似於ObjC委託回調的通知我的應用程序的東西:「pushState()」使用這些參數調用:XXX「。
注:我期待在ObjC的解決方案。假設我不能接受頁面上的JS,並替換/調整JS中的pushState()
方法。
就這樣,我明白了,是否可以接受來自* ObjC *的pushState方法?在這種情況下,您可以使用WebView API在ObjC中提供您自己的自定義pushState。 – 2012-07-23 19:45:35
我會說這是不可接受的。由於這是'window.history'方法,這意味着我將不得不顯着改變WebKit內部。我的應用只鏈接到WebKit。在這種情況下,單獨爲此功能綁定WebKit的自定義版本是不可接受的。 – 2012-07-23 19:48:08
另外,我想我可以提供一個'window.history'的替代實現,而不需要在我的應用中綁定一個自定義的WebKit。但是,再次假設這是不可接受的,因爲這是一個糟糕的主意/不值得爲此功能付出努力。 – 2012-07-23 19:49:44