- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
<script language="javascript">
alert("Hell! UIWebView!");
</script>
我可以在我的 UIWebView 中看到警告消息,但是我可以处理这种情况吗?
更新:
我正在将网页加载到我的 UIWebView 中:
- (void)login {
NSString *requestText = [[NSString alloc] initWithFormat: @"%@?user=%@&password=%@", DEFAULT_URL, user.name, user.password]; // YES, I'm using GET request to send password :)
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestText]];
[webView loadRequest:request];
}
目标页面包含一个JS。如果用户名或密码不正确,此 JS 显示警报。我无权访问其来源。我想在我的 UIWebViewDelegate 中处理它。
最佳答案
这个问题更好的解决办法是为方法创建一个UIWebView的Category
webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:
这样您就可以按照您喜欢的任何方式处理警报事件。我这样做是因为我不喜欢 UIWebView 将源文件名放在 UIAlertView 标题中时的默认行为。类别看起来像这样,
@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* dialogue = [[UIAlertView alloc] initWithTitle:nil message:message delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[dialogue show];
[dialogue autorelease];
}
@end
关于javascript - 我可以在 UIWebViewDelegate 中处理警报吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1565102/
我想使用 UIWebViewDelegate 方法。我将它的委托(delegate)设置为 self 但仍然没有工作 -(void)webViewDidStartLoad:(UIWebView *)w
UIWebViewDelegate 是否不监视使用 XMLHttpRequest 发出的请求?如果是这样,有没有办法监控此类请求? 例如UIWebViewDelegate 没有在 -(BOOL) we
alert("Hell! UIWebView!"); 我可以在我的 UIWebView 中看到警告消息,但是我可以处理这种情况吗? 更新: 我正在将网页加载到我的 UIWebView 中:
通常整个 UIKit/Foundation 框架中的所有委托(delegate)都是弱的,除了 UIWebView。 UIWebView's delegate @property(nonatomic,
alert("Hell! UIWebView!"); 我可以在我的 UIWebView 中看到警告消息,但是我可以处理这种情况吗? 更新: 我正在将网页加载到我的 UIWebView 中:
我有一个应用程序,用户可以在其中导航一堆本地存储的 HTML 文件。我有一个 UIWebView,使用 UIWebViewDelegate 正确配置。通常,当用户点击链接时,shouldStartLo
.h文件: @interface MyView: UIViewController { UIWebView *webView; } .m文件: -(void)viewDidLoad {
我正在连接到一个网站,登录并使用 NSURLRequest 获取页面的 HTML 源代码,这一切正常。我通过将它打印到控制台来确认 html 源是我需要的。问题是我需要在 javascript 代码完
UIWebViewDelegate 协议(protocol)引用指出: Before releasing an instance of UIWebView for which you have set
在我认为 UITextView 的弱长自定义重新实现(在 designMode 中使用 UIWebView)无用之前,有什么方法可以处理/取消 javaScript onKeyUp 等事件吗? 据我所
我几乎使用了这里概述的这个过程来允许 javascript 从我的 iPad 应用程序调用 Objective C: http://www.stevesaxon.me/posts/2011/windo
当 UIWebViewDelegate 被 didFailLoadWithError 回调时,我们如何检索加载失败的 NSURLRequest(仅获取 NSError) ?我们可以在调用 should
当我写这行代码时,我没想到我的程序会大惊小怪: [twitterFeed setDelegate:self]; twitterFeed 是一个设置为转到 Twitter 的移动站点的 UIWebVie
我正在尝试利用 UIWebView 功能,特别是我想做这样的事情:Open links in Safari instead of UIWebVIew? 但是当我尝试将 UIWebViewDelegat
我已经定义了一个 UIWebViewDelegate 类并在我的 UIWebView 的 Delegate 属性中实例化它,但是当 webview 加载请求时没有调用 ShouldStartLoad
我正在尝试将一个 iOS 应用程序移植到 OSX,但有一件事我不明白。 iOS 应用程序使用 UIWebView,更准确地说是一个实现了 UIWebViewDelegate 的 UIView: @in
当我在以下代码中将 webView.delegate = self; 添加到 WebView 时 - (void)viewDidLoad { [super viewDidLoad];
我有这个代码。对 WebView 的引用是我放在页面上的 WebView 元素。 我有这个代码: - (void)viewDidLoad { [super viewDidLoad];
我想加载一个网页,然后能够在用户登录并重定向后检索当前网页。我已经实现了网页的加载,但在用户移动到新页面后无法检索 URL。我当前的代码是: @IBOutlet weak var webView: U
我是一名优秀的程序员,十分优秀!