相关疑难解决方法(0)

如何从Javascript调用Objective-C?

我有一个WebView,我想从JavaScript调用Objective-C中的一个视图.有人知道我怎么做吗?


我的ViewController中有这个代码:

- (BOOL)webView:(UIWebView *)webView2 
 shouldStartLoadWithRequest:(NSURLRequest *)request 
 navigationType:(UIWebViewNavigationType)navigationType {

 NSString *requestString = [[request URL] absoluteString];
 NSArray *components = [requestString componentsSeparatedByString:@":"];

 if ([components count] > 1 && 
  [(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) {
  if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"]) 
  {

   NSLog([components objectAtIndex:2]); [[Airship shared] displayStoreFront]; //<- This is the code to open the Store
   NSLog([components objectAtIndex:3]); // param2
   // Call your method in Objective-C method using the above...
  }
  return NO;
 }

 return YES; // Return YES to make sure regular navigation works as …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch uiwebview

41
推荐指数
3
解决办法
5万
查看次数

iOS应用程序 - 为UIWebView加载设置超时

我有一个简单的iOS本机应用程序,可以加载单个UIWebView.如果应用程序没有完全在20秒内完成在webView中加载初始页面,我希望webView显示错误消息.

我在这里加载了我的webView viewDidLoad(简化):

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];
Run Code Online (Sandbox Code Playgroud)

该timeoutInterval代码在上述范围内实际上并没有"做"什么,因为苹果有它在操作系统中设置为不实际超时240秒.

我设置了自己的webView didFailLoadWithError操作,但如果用户有网络连接,则永远不会调用它.webView继续尝试使用我的networkActivityIndi​​cator旋转加载.

有没有办法为webView设置超时?

xcode timeout loading uiwebview ios5

23
推荐指数
2
解决办法
3万
查看次数

从Web worker获取返回值

现在,我已经有了它,它的工作原理:

var myWebWorker = new Worker('myWebWorker.js');
myWebWorker.onmessage = function (myEvent) {
    $('#Print').append('Return value: ' + myEvent.data + "<br>");
};
myWebWorker.postMessage(2);
Run Code Online (Sandbox Code Playgroud)

我的问题是:我可以这样做吗?

var result = myWebWorker.postMessage(2);
Run Code Online (Sandbox Code Playgroud)

因为我需要web worker同步 - 换句话说,给出一个返回值,直到你完成后才返回.

编辑1:

Web worker正在使用openDatabaseSync事务对本地数据库进行插入/选择.

编辑2:

我的问题似乎是Cocoa Touch,而不是JavaScript. 这是一个有人在StackOverflow上发布的聪明黑客.

编辑3:

这是一个更好的黑客.

javascript web-worker

3
推荐指数
1
解决办法
3033
查看次数