简体   繁体   English

Javascript仅在调试模式下可在Google Chrome浏览器中使用

[英]Javascript only works in Google Chrome in debug mode

The code below works fine in Internet Explorer, but in Chrome it only works if you are in debug mode, what's wrong? 下面的代码在Internet Explorer中可以正常工作,但在Chrome中,只有在调试模式下它才能工作,这是怎么回事?

window.onresize = function (e) {
 if (window.outerWidth === screen.width && window.outerHeight == screen.height) {
    if (!fullscreen) {
        fullscreen = true;
        onfullscreenchange(true);
    }
 } else {
    if (fullscreen) {
        fullscreen = false;
        onfullscreenchange(false);
    }
  }
};


function onfullscreenchange(full) {
    alert(full);
}

Try this 尝试这个

var fullscreen;

window.onresize = function (e) { 
 if (window.outerWidth === screen.width && window.outerHeight == screen.height) {
    console.log('fullscreen');
    if (fullscreen !== 1) {
        fullscreen = 1;
        onfullscreenchange(true);
    }
 } else {
    console.log('!fullscreen');
    if (fullscreen !== 0) {
        fullscreen = 0;
        onfullscreenchange(false);
    }
  }
};


function onfullscreenchange(full) {
    alert(full);
}

Here is an example for listening for if the window has been fullscreened with F11. 这是一个监听窗口是否已用F11全屏显示的示例。 This code listens not just for resize events but also for F11 since the resize event isn't fired in Chrome when entering fullscreen mode. 这段代码不仅监听resize事件,还监听F11,因为进入全屏模式时不会在Chrome中触发resize事件。

// Function to check if the window is fullscreened or not
var isFullscreen = function(){
  return (window.outerWidth === screen.width && window.outerHeight === screen.height);
};

// Function to run when window size has changed
var screenSizeChange = function(){
  if (isFullscreen()) {
    document.querySelector('body').innerHTML = 'You are in fullscreen mode';
  } else {
    document.querySelector('body').innerHTML = 'You are in windowed mode';
  }
};

// Run screenSizeChange when `resize` event is triggered
window.addEventListener('resize', screenSizeChange, false);

// Run screenSizeChange when F11 is pressed
window.addEventListener('keyup', function(e){
  if (e.keyCode === 122) { // Listen for F11
    screenSizeChange();
  }
}, false);

Live version to try: http://jsbin.com/ciqeb/4/edit?js,output 尝试的实时版本: http//jsbin.com/ciqeb/4/edit?js,输出

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM