- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下结构
UIViewController1 --> UIWebView
我从 Documents-Folder 在 WebView 中运行一个本地 HTML 文件。在 HTML 中,我有一个简短的 JavaScript 片段,它通过 orientationObserver 检查界面方向。
UIViewController1 被锁定为横向。
OrientationObserver 总是返回“portrait”,应该返回“landscape”。不知道是什么原因导致返回值错误。
什么会导致 orientationObserver 在这个星座中返回错误的方向?
我真的卡在这里了,我需要返回正确的方向。
感谢任何帮助。
最佳答案
最后,在与 iMac 苦苦思索了四天之后,我找到了一个解决方案。
在 UIWebView 中没有可用的 window.orientation
(我想知道为什么!?)。如果 JavaScript 请求该值,它会得到“0”,这意味着方向是“纵向”。
如果将“方向” setter 添加到窗口,则可以解决该问题。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req navigationType:(UIWebViewNavigationType)navigationType {
[webView stringByEvaluatingJavaScriptFromString:@"window.__defineGetter__('orientation', function(){return 90;});"];
return YES;
}
这在 window
中实现了一个 getter,JavaScript 获取了返回值。如果您希望您的应用程序响应界面方向更改,您可以再次将委托(delegate)中的值设置为正确的值(-90、0、90 或 180)。
关于javascript - UIWebView 中的 OrientationObserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258322/
我有以下结构 UIViewController1 --> UIWebView 我从 Documents-Folder 在 WebView 中运行一个本地 HTML 文件。在 HTML 中,我有一个简短
我是一名优秀的程序员,十分优秀!