如何强制浏览器窗口始终位于顶部且处于焦点位置

时间:2009-04-06 18:48:34

标签: javascript windows web-applications browser

有没有办法强制浏览器窗口始终位于焦点上?我正在开发一个项目,除了关闭浏览器窗口之外,我需要将浏览器窗口置于顶部并始终处于焦点。我已经通过javascript尝试了一些东西,但没有任何成功保持窗口的焦点。

我并不是想对用户施加压力。我正在开展一个实施在线测试的项目,我不希望用户能够切换到在网上查找答案。

5 个答案:

答案 0 :(得分:7)

您需要在客户端计算机上安装Windows应用程序,这将迫使浏览器位于顶部。这是唯一的方法。

如果您使用的是IE,则可以打开一个模态对话框,该对话框始终位于顶部且处于焦点位置,但只有在该浏览器会话中,用户才可以自由切换应用程序。

编辑:如果您正在编写测试应用程序,那么您最好只为每个问题设置合理的时间限制。试图阻止他们查找答案毫无价值。如果他们并排有两台机器怎么办?如果他们旁边有他们的伙伴帮助解答怎么办?你将不得不在这个上使用荣誉系统。

答案 1 :(得分:2)

这是不可能的,因为应用程序级别的焦点由Windows操作系统处理。

您需要更改操作系统才能实现此功能。

答案 2 :(得分:2)

我对这个问题发表了评论,但意识到这值得张贴作为答案......

寻找其他解决方案。想一想。如果用户不在另一个窗口/标签/浏览器中查看答案,那会产生什么副作用?检测那些副作用,并在这些情况下惩罚/阻止。

例如,您可以在blur上检测window事件,然后轮询活动(focusclickmousemove,{{1等等)确定用户的“空闲”时间。如果用户“闲置”足够长时间去其他地方寻找答案,那么他们很可能“作弊”。否则,您可以简单地对问题施加时间限制,如果分配的时间用完,则跳过这些问题。

您无法保证您的用户不会“作弊”。要么构建测试的“物理”规则,以便最大限度地减少“作弊”的可能性,要么构建测试本身,以便“作弊”不那么重要。不要试图绕过不允许用户操作浏览器的浏览器中的内置用户保护,就像其他任何应用程序一样。

答案 3 :(得分:1)

浏览器窗口属于浏览器,而不属于您。不要用它拧紧。

不要这样做,也就是说,除非你编写了浏览器。

通过使用Windows窗体WebBrowser控件创建合理的Web浏览器花了我15分钟。我建议您要求学生通过此自定义浏览器程序查看您的网站。由于这个程序真的成为你的,你可以强迫它保持在最佳状态,或者你喜欢的任何其他东西。

答案 4 :(得分:0)

JavaScript有能力做到这一点,但默认情况下它在大多数现代网络浏览器中被禁用(并且,你肯定会同意,这是有充分理由的!)