【问题标题】:Alternative to blur() for setting window focus?替代 blur() 设置窗口焦点?
【发布时间】:2011-02-28 20:13:46
【问题描述】:

我正在使用一些 Javascript 将窗口的焦点设置为背景。我在问用户是否想参加调查。如果是这样,调查窗口应该落在活动窗口的后面,这样他们就可以继续浏览网站而不减弱。 JS 工作正常,除了在 Chrome 中(可能还有 Safari)。

这是 JS:

window.onload = function()
{
  self.blur();
};

有没有更好的方法来获得更好的浏览器接受度?

【问题讨论】:

  • 我相信您正在寻找“Pop-under”窗口。 (this page
  • 那是使用我试图避免的 blur()。

标签: javascript jquery focus


【解决方案1】:

据我所知,没有标准或可靠的方法可以强制窗口管理器在所有平台上将弹出窗口置于其父窗口下方。

如果您从事不引人注目的调查,您可能需要考虑实现somethinglike StackOverflow 的通知栏,并且仅当用户与该元素交互时才在前台打开您的弹出窗口。

【讨论】:

  • 感谢您的提示。这可能是正确的前进方向,但是目前该调查仅针对一小部分人,而且应该有点侵入性。
  • “有点”?抱歉,这已经不是 1998 年了。操纵用户的窗口焦点非常麻烦。
  • @Peachy,@Capsule 不仅在原则上是正确的,而且您的问题暗示您希望支持尽可能多的平台。如果是这样,那不是要走的路。例如,考虑将所有内容(包括弹出窗口)标签化的用户。或者tiling window managers,他们甚至都不知道什么是z-order。
【解决方案2】:

看起来您的调查窗口位于另一个窗口的前面,如果用户选择参加调查,您希望它位于该窗口的后面。 试试这个:

<BODY onLoad="self.blur()">

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 2012-07-08
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    相关资源
    最近更新 更多