全屏显示图像 - 使用 JavaScript/HTML5

Posted

技术标签:

【中文标题】全屏显示图像 - 使用 JavaScript/HTML5【英文标题】:Showing Image in full screen - using JavaScript/HTML5 【发布时间】:2014-07-22 12:59:06 【问题描述】:

我在网页上有一张图片。当我点击它时,它应该显示全屏。

我有以下代码:

<!doctype html>
<html>
  <head>      
     <script>
        function makeFullScreen() 
         var divObj = document.getElementById("theImage");
       //Use the specification method before using prefixed versions
      if (divObj.requestFullscreen) 
        divObj.requestFullscreen();
      
      else if (divObj.msRequestFullscreen) 
        divObj.msRequestFullscreen();            
      
      else if (divObj.mozRequestFullScreen) 
        divObj.mozRequestFullScreen();
      
      else if (divObj.webkitRequestFullscreen) 
        divObj.webkitRequestFullscreen();
       else 
        console.log("Fullscreen API is not supported");
       

    
     </script>
    
  </head>
  <body>
    Click Image to display Full Screen...</br>
    
    <img id="theImage" style="width:400px; height:auto;" src="pic1.jpg" onClick="makeFullScreen()"></img>
    
  </body>
</html>

我面临的问题 - 在全屏模式下

    图像以小尺寸显示(即与浏览器页面上的尺寸相同),而不是其原始尺寸 - 在所有浏览器上。 在 IE 中 - 图像不居中,它显示在全屏的左侧(为什么不居中?)。在 Chrome 中 - 它是居中的 - 根据需要。

【问题讨论】:

你用的是哪个api? vaisakh> 整个 html/javascript 都粘贴在问题中。请检查。 你能提供宽度也为自动 进入全屏模式时,图像元素不缩放。这就是它显示相同大小的原因。 Visakh> 在主网页上,我希望图像具有一定的大小(并且按照该大小正确显示)。但在全屏时,它需要以“原始大小”显示 【参考方案1】:

所以,经过一番尝试,找到了解决方案……

解决方案在样式部分: - 宽度、高度、边距设置为“自动”, - 但也标记为 '!important' - 这允许您在全屏模式下覆盖网页上图像的内联样式。

<!doctype html>
<html>
  <head>
     <style>
      .fullscreen:-webkit-full-screen 
      width: auto !important;
      height: auto !important;
      margin:auto !important;
  
     .fullscreen:-moz-full-screen 
      width: auto !important;
      height: auto !important;
      margin:auto !important;
  
     .fullscreen:-ms-fullscreen 
      width: auto !important;
      height: auto !important;
      margin:auto !important;
       
     </style>
     <script>
        function makeFullScreen() 
         var divObj = document.getElementById("theImage");
       //Use the specification method before using prefixed versions
      if (divObj.requestFullscreen) 
        divObj.requestFullscreen();
      
      else if (divObj.msRequestFullscreen) 
        divObj.msRequestFullscreen();               
      
      else if (divObj.mozRequestFullScreen) 
        divObj.mozRequestFullScreen();      
      
      else if (divObj.webkitRequestFullscreen) 
        divObj.webkitRequestFullscreen();       
       else 
        console.log("Fullscreen API is not supported");
       

    
     </script>

  </head>
  <body>
    Hello Image...</br>

    <img id="theImage" style="width:400px; height:auto;"  class="fullscreen" src="pic1.jpg" onClick="makeFullScreen()"></img>

  </body>
</html>

【讨论】:

以上是关于全屏显示图像 - 使用 JavaScript/HTML5的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 reactJS 和 css 在全屏背景中显示图像?

全屏显示图像 - 使用 JavaScript/HTML5

如何在 iOS 的 iCarousel 中显示图像全屏?

视图中的drupal图像全屏显示,如何使图像变小?

Windows Store App XAML:Gridview 不全屏显示图像

如何全屏显示图像的滚动视图?