【发布时间】:2011-04-26 19:52:36
【问题描述】:
我想知道是否有办法通过 JavaScript 控制 iPod Touch 键盘的方向?当使用横向时,键盘总是以纵向模式显示,这导致我的许多元素的静态定位出现问题。
是否可以在 Javascript 中控制键盘的方向?
谢谢
【问题讨论】:
标签: javascript iphone ios ipod-touch
我想知道是否有办法通过 JavaScript 控制 iPod Touch 键盘的方向?当使用横向时,键盘总是以纵向模式显示,这导致我的许多元素的静态定位出现问题。
是否可以在 Javascript 中控制键盘的方向?
谢谢
【问题讨论】:
标签: javascript iphone ios ipod-touch
不,这是不可能的。
【讨论】:
当 Javascript 提示时,有一种执行原生 SDK 调用的通用方法。您可以实现 UIWebViewDelegate,并使用 shouldStartWithRequest 方法捕获 Javascript 请求。
在您的 Javascript 中,重定向到一个不存在的本地 URL,该 URL 表明您想要做什么。例如:
window.location = "doKeyboardAction";
然后,在你的 UIWebViewDelegate 中:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = request.URL;
NSString *urlString = [url.absoluteString lastPathComponent];
if([urlString isEqualToString:@"doKeyboardAction"]){
NSLog(@"Javascript says to do something.");
return NO;
}
return YES;}
这将捕获 UIWebView 中的所有重定向,并且在 URL 为“doKeyboardAction”的情况下,WebView 不会跟随重定向,此时您可以做任何您想做的事情,例如操作键盘方向。
【讨论】: