cordova插件屏幕方向不适用于特定页面
cordova-plugin-screen-orientation not working on specific pages
我只需要在一个视图上允许两个方向,但其他10个视图的其余部分应该锁定为纵向。我不介意通过将我的10个视图的控制器中的每一个都设置为锁定肖像来做这件乏味的事情。但我似乎无法让屏幕定向插件工作。
我使用CLI安装插件(成功安装)
然后这就是代码
config.xml:
<preference name="Orientation" value="default"/>
控制器:(这不起作用)
.controller('ProfileCtrl', function($scope, $state, $stateParams, $ionicHistory, $rootScope, $ionicPopup, $ionicPlatform) {
$ionicPlatform.ready(function() {
screen.lockOrientation('landscape');
});
提前感谢:)
您应该先检查是否加载了Cordova。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
screen.lockOrientation('portrait');
}
或者由于您使用的是Ionic:
$ionicPlatform.ready(function() {
screen.lockOrientation('portrait');
});
(对于后者,请确保注入$ionicPlatform依赖项。)
使用以下代码,它将按预期工作
screen.orientation.lock('landscape');
查看本教程。它帮助我解决了同样的问题:https://topherpedersen.blog/2019/09/26/cordova-screen-orientation-lock-plugin-not-working/
// Lock Device Orientation
function lockDeviceOrientationCallback() {
// set to either landscape
screen.orientation.lock('portrait');
console.log("locking device orientation...");
}
document.addEventListener("deviceready", lockDeviceOrientationCallback, false);
该解决方案类似于上面的答案,即在设备准备就绪时设置事件侦听器。我发现这个效果更好,因为cordova已经有了一个设备就绪的监听器,我似乎可以依靠它
我把它放在Interval中,它成功了:
let ticks = setInterval((timer),10);
function timer() {
function lockDeviceOrientationCallback() {
// set to either landscape
screen.orientation.lock('portrait');
console.log("locking device orientation...");
}
document.addEventListener("deviceready", lockDeviceOrientationCallback, false);
}
相关文章:
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- JavaScript不显示剩余字符,但适用于其他页面
- 我如何完善这个Javascript代码,使其只适用于来自图像的链接(而不是来自文本的链接)
- 为什么这只适用于身体部分而不是头部
- 为什么不't此正则表达式适用于重复出现的对
- document.getElementById 对内部 html 的调用适用于 $_POST 和 $_GET 变量,但不
- JavaScript 位置适用于本地主机而不是服务器
- Rally App SDK 2.0:Rallymultiobjectpicker,适用于不显示displayField的
- jQuery事件在Mozilla上不起作用,并且适用于其他浏览器
- Angular.js - 控制器不为索引执行,适用于其余模板
- D3 .on 更改适用于文本而不是图表
- Zillow 数据 - json_encode不起作用 - 适用于常规变量
- 弹出模式仅适用于表格中的第一个元素,第二次单击后不会再次打开
- Phonegap Android项目适用于模拟器,而不是实际的手机
- ajax jonp 不应该适用于 请求的上不存在“访问控制-允许源”标头
- AngularJS:ng-单击不起作用,适用于<按钮>
- Javascript不会在移动设备上加载.适用于桌面
- 为什么我的代码适用于高度:100px,而不是高度:100%
- 拖放区.js + Laravel-多文件上传不起作用(仅适用于一个文件)
- 哪些限制适用于不透明响应