簡體   English   中英

Angular和HTML5全屏API

[英]Angular and HTML5 fullscreen API

在我的主控制器中,我有一個函數可以針對全屏瀏覽器狀態切換true / false,如下所示:

// Full Screen toggle
$scope.fsState = false;
$scope.fullScreen = function fullScreen(){
  function launchFS(element) {
    if (element.requestFullScreen) element.requestFullScreen();
    else if (element.mozRequestFullScreen) element.mozRequestFullScreen();
    else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();
  }
  function cancelFS() {
    if (document.cancelFullScreen) document.cancelFullScreen();
    else if (document.mozCancelFullScreen) document.mozCancelFullScreen();
    else if (document.webkitCancelFullScreen) document.webkitCancelFullScreen();
  }
  if($scope.fsState == false) launchFS(document.documentElement);
  else cancelFS(); $scope.fsState = !$scope.fsState;
};

在視圖中...

<button class="btn" ng-click="fullScreen()">Toggle Fullscreen</button>

除了我導航到SPA中的另一頁時,此方法工作正常。 每當我從主導航(也是在同一控制器中)中進行選擇時,頁面就會跳出全屏。 知道為什么Angular.js會這樣做還是可以做什么以保持路由更改之間的狀態?

您可能正在刪除全屏元素並將其讀取。 它應該在用戶界面視圖的頂部,類似

<body>
  <div class="fullscreen-container">
    <div ui-view></div>
  </div>
</body>

您也可以使用該項目來避免調用特定於供應商的功能https://github.com/hrajchert/angular-screenfull

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM