2010-09-17 63 views
2

我正在構建一個iPad應用程序,該應用程序在UIWebView中加載本地html文件。我有一個int存儲在視圖控制器,我想用來確定哪些內容加載到HTML文檔。獲取Objective-C與UIWebView通過JavaScript進行交談

此外,我想在html中創建可在最高層生成新的,更小的UIWebViews的可點擊鏈接,就像「彈出窗口」一樣。

如何從Obj-C向Javascript發送數據?

回答

4

您可以使用UIWebView中的stringByEvaluatingJavaScriptFromString:方法將數據從Cocoa層發送到JavaScript層。

可可層還可以通過在視圖控制器中實現UIWebViewDelegate協議來「攔截」鏈接點擊;當點擊鏈接時,代理方法webView:shouldStartLoadWithRequest:navigationType:將被調用,此時Cocoa圖層可以執行您正在尋找的那種「彈出」操作。

(雖然我會問你爲什麼要生成彈出式廣告是這樣的。我的直覺告訴我,這將外觀和感覺但從用戶的角度很煩人的。)

+0

也許彈出up是一個糟糕的詞選擇。我希望用戶能夠點擊某些單詞,在頂部打開一個小視圖,這將提供有關所選單詞的更多信息。 (圖片,定義等) – Chris 2010-09-17 19:34:39

+0

@Chris我給你的答案也適用於這種情況。關鍵是知道用戶何時點擊鏈接,然後採取行動。 – 2010-09-17 19:54:49

+0

是的。非常感謝您的答覆。我的一個擔心是,只要用戶點擊任何鏈接,就會調用委託方法,但不會檢索關於單擊哪個鏈接(地址,文本等)的任何信息,因此如果我有多個鏈接相同的文件,每個文件應該呈現不同的內容。 – Chris 2010-09-17 20:01:13