2010-09-17 46 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