现在的位置: 首页 > 综合 > 正文

js 中的alert title 在 iOS 中如何消失

2013年04月24日 ⁄ 综合 ⁄ 共 1029字 ⁄ 字号 评论关闭

在iOS app 中经常会嵌套html 代码, 然后  js 的alert 的title 怎么修改呢,不修改的话很丑陋,用户无法接受。如下:

 但是现在有了好的办法就是用 iOS native 的uiwebview 的扩展方法来监听 js的alert 然后自定义 alert 的title ,如下:

这样就可以自定义, 也比较好看了。

方法是 在 你加在webview 的 m 方法中加入:

@interface UIWebView (JavaScriptAlert)

- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;

@end

@implementation UIWebView (JavaScriptAlert)

- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
    
    
    UIAlertView* customAlert = [[UIAlertView alloc] initWithTitle:@"我是JS Alert"
                                                          message:message
                                                         delegate:nil
                                                cancelButtonTitle:@"确定"
                                                otherButtonTitles:nil];
    
    [customAlert show];
    [customAlert release];
    
}
@end

这样就ok了! 哈哈!

html 代码 :

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <title>Webview document</title>
    <script type="text/javascript">
        function change_header()
        {
            alert("不错的一天");
        }
     </script>
</head>

<body style="background-color:transparent; color:white;">
    <h4>UIWebView HTML document</h4>
    <button onclick="change_header()">按钮</button>
</body>

</html>

抱歉!评论已关闭.