确定webkit中的窗口是否处于活动状态

时间:2011-05-27 22:52:54

标签: javascript css macos webkit titanium

是否有一些css选择器或类似的东西允许您在webkit中的非活动页面/窗口中对元素应用不同的样式?有滚动条:http://www.webkit.org/blog/363/styling-scrollbars/ 我正在使用它来使Titanium桌面应用程序在Mac OS X上更加原生。 谢谢!

3 个答案:

答案 0 :(得分:3)

请参阅:http://www.thefutureoftheweb.com/blog/detect-browser-window-focus

  

这些活动适用于所有专业   浏览器(Firefox,Internet Explorer   6/7,Safari&戏)。

演示:http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/

function onBlur() {
    document.body.className = 'blurred';
};
function onFocus(){
    document.body.className = 'focused';
};

if (/*@cc_on!@*/false) { // check for Internet Explorer
    document.onfocusin = onFocus;
    document.onfocusout = onBlur;
} else {
    window.onfocus = onFocus;
    window.onblur = onBlur;
}

答案 1 :(得分:2)

由于您只关注WebKit,因此您可以使用:window-inactive伪选择器,它应该与滚动条一起使用。我没有在MacOS X上测试它,但你可以尝试一下。

但是如果你想要更多的跨浏览器,可以使用JavaScript根据窗口活动定义一个CSS类。请参阅此主题:Is there a way to detect if a browser window is not currently active?

答案 2 :(得分:0)

遗憾的是,:window-inactive未标准化,据我所知,仅适用于使用::selection的滚动条和文本选择。你必须使用javascript来获得你想要的东西。