使用 Ajax 从 UIWebView 调用 Objective C 函数
Posted
技术标签:
【中文标题】使用 Ajax 从 UIWebView 调用 Objective C 函数【英文标题】:Calling Objective C function from UIWebView using Ajax 【发布时间】:2012-10-19 12:33:56 【问题描述】:我在网上找到了一个教程,上面说可以使用以下 javascript 代码从 WebView 调用 ObjectiveC 代码
var iframe = document.createElement("IFRAME");
iframe.setAttribute("src", "js-frame:myObjectiveCFunction");
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
然后从ObjectiveC我必须实现UIWebViewDelegate来接收shouldStartLoadWithRequest。 我尝试了这段代码,它奏效了;但是,我想知道是否可以使用 AJAX 调用而不是使用 IFrame 来实现相同的功能。
【问题讨论】:
【参考方案1】:如果你用JS改变window.location就可以了。它将调用您正在使用的委托函数。
您还可以使用页面上的链接使用相同的委托方法执行 obj-c 函数。
如果您打算使用 AJAX 进行特殊调用,请详细说明。
【讨论】:
以上是关于使用 Ajax 从 UIWebView 调用 Objective C 函数的主要内容,如果未能解决你的问题,请参考以下文章
如果从 tableView:didSelectRowAtIndexPath 调用 UIWebView 不调用 loadRequest: