2012-12-10 92 views
0

我有一个HTML文件,可以用我的xcode项目计算各种不同的电缆尺寸(所有其余部分都在目标c中),如果电缆超出范围,它会发出警报alert ("No suitable cables");对此我想触发一项行动。我可以告诉我的应用程序该事件发生在HTML中吗?我听说过名单,并认为我可能需要在这种情况下使用?不知道我会如何实现它认为xcode中的html提醒事件

+0

在这里看到:http://stackoverflow.com/questions/3742590/nsstring-in-webview-iphone-and-objective-c/3742635#3742635 – lupatus

回答

2

你可以通过在webview触发一个URL来加载一个自定义前缀,你可以在web浏览器的iframe中使用shouldStartLoadWithRequest方法,如果需要发送电缆警报。

ex. sendCableAlert://scenario1.com

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 
    NSString *alertPrefix = @"sendCableAlert://"; 

    if ([[[request URL] absoluteString] hasPrefix:alertPrefix]) { 
     //You've hit an alert do something.. 
     NSLog(@"CABLE ALERT!"); 

     return NO; 
    } 
    else { 
     return YES; 
    } 
} 
+0

我觉得我理解的第二部分代码和背后的原则,但我仍然不完全明白。 'sendCableAlert:// scenario1.com',这是否在我的HTML文件? – JSA986

+0

是的,你会有类似loadUrl(http://somesite.com),我猜根据你的计算结果有条件发送的JavaScript触发器。 – propstm

+0

我认为这就是我困惑的地方,加载网址?我没有那个即时消息我的html代码,它在本地html文件中的一个计算器(抱歉应该说明)'''\t form.percentage_drop.value = Math.round(mycable.percentage_drop(I,l,V) * 10)/ 10; \t \t form.current.value = Math.round(I * 100)/ 100; \t} else { \t \t alert(“No suitable cables”); \t} } – JSA986