【发布时间】:2011-11-16 13:57:50
【问题描述】:
我正在为 iphone/ipad 开发一个应用程序,但我遇到了一些问题。
我正在使用 html 代码动态构建一个 nsmutablestring,并将其作为 html 加载到 uiwebview。我还将一个本地 js 文件加载到这个 html 页面,其中我有一些逻辑功能。 在这个 html 中,我得到了一个最后带有提交按钮的表单。
我想要做的是,在单击提交按钮的那一刻,它会调用一个方法,将字符串返回给 Objective-c 代码。我对控制表单的javascript没有问题。但是当点击提交按钮时,本机代码给了我
Error Domain=WebKitErrorDomain Code=102 "Frame load interrupted" UserInfo=0x6c60b20 {NSErrorFailingURLKey=file://
我尝试在 js 函数中重定向,例如 window.location="myapp:custom:"+string;但我遇到了同样的问题。甚至尝试像 JSBridge api 这样的库。
我怀疑这是因为我正在将 NSString 加载到 webview 中,该 webview 的 baseUrl 是用于加载本地 js 文件的 mainbundle 路径。
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[self.webView loadHTMLString:string baseURL:baseURL];
【问题讨论】:
-
你给 loadHTMLString 的字符串是什么?
-
是html代码。但我实际上发现了问题所在。使用虚假 url 的解决方法不适用于输入提交,但适用于输入按钮。所以它现在正在工作。
标签: objective-c uiwebview nsstring