12

我想进行一项心理学研究,参与者必须查看大图像。

该实验是在网络上完成的,因此是在浏览器窗口中完成的。是否可以告诉浏览器进入全屏模式,例如按下按钮?

我知道有可能打开一个固定大小的弹出窗口。您认为这将是一个可行的替代方案吗?如果,最好的方法是什么?是否有优雅的方法来检测弹出窗口阻止程序,以回退并在原始浏览器窗口中运行研究。

主要担心的是这项研究的参与者不熟悉技术细节,不应该被他们打扰。

4

8 回答 8

8

您可以告诉用户按 F11。在它旁边,放一个“为什么?” 链接并解释为什么您觉得他们需要处于全屏模式。

我不认为你可以强制浏览器全屏显示,事实上,如果你能做到这一点,我会对我的浏览器感到愤怒。它太具有侵略性了。甚至 Flash 也具有安全性,因此强制插件进入全屏需要事件源自用户交互。所以,如果它对你很重要,这可能是使用 Flash 插件的一个很好的理由,因为你可以将 go-fullscreen 调用附加到一个误导性的按钮上,上面写着“开始测验”(或其他)。

但是,请不要那样做。直接与用户直接联系并告诉他们按 F11。

编辑:我刚刚尝试了另一条评论中提供的示例代码,我很高兴地说 Firefox 打开了一个带有地址栏的最大化窗口,而不是全屏窗口。

于 2008-10-23T03:02:08.080 回答
5

没有办法将当前窗口调整为全屏,但您可以全屏打开一个弹出窗口:

<script type="text/javascript">
<!--
function popup(url) 
{
 params  = 'width='+screen.width;
 params += ', height='+screen.height;
 params += ', top=0, left=0'
 params += ', fullscreen=yes';

 newwin=window.open(url,'windowname4', params);
 if (window.focus) {newwin.focus()}
 return false;
}
// -->
</script>

<a href="javascript: void(0)" 
   onclick="popup('popup.html')">Fullscreen popup window</a>
于 2008-10-23T02:58:12.360 回答
5

我在搜索后找到了一些代码。

function fullscreen() {
    var element = document.getElementById("content");
    if (element.requestFullScreen) {
        if (!document.fullScreen) {
            element.requestFullscreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png");
        } else {
            document.exitFullScreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize.png");
        }

    } else if (element.mozRequestFullScreen) {

        if (!document.mozFullScreen) {
            element.mozRequestFullScreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png");
            google.maps.event.trigger(map, 'resize');
        } else {
            document.mozCancelFullScreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize.png");
        }

    } else if (element.webkitRequestFullScreen) {

        if (!document.webkitIsFullScreen) {
            element.webkitRequestFullScreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png");
            google.maps.event.trigger(map, 'resize');
        } else {
            document.webkitCancelFullScreen();
            $(".fullscreen").attr('src',"img/icons/panel_resize.png");
        } 
    } 
}

它将使用 html5 api。我用jquery为它切换了一张特殊的图片。希望这会有所帮助。目前,我不知道你是否可以强制它,因为它被禁止出于安全考虑。

于 2013-12-17T20:02:05.073 回答
4

在 IE 上以全屏模式打开一个新窗口:

<script>
<!--
window.open("page.html","fs","fullscreen,scrollbars")
//-->
</script> 

在 page.html 上放置一个“关闭”链接可能是个好主意:

<a href="#" onclick="window.close()">Close Window</a>
于 2008-10-23T03:10:59.497 回答
2

过去,我见过网站这样做。但是,由于它非常烦人并且通常被 pr0n 网站的广告使用,因此该技术可能会在最近的浏览器中被阻止。

但我认为重要的一点是:它非常烦人,并且通常被 pr0n 网站的广告使用,所以你可能不想将自己关联到哪些这样的东西,所以你最好只要求你的用户最大化他们的浏览器。

于 2008-10-23T02:57:46.027 回答
1

要修改父窗口,请尝试以下操作:

window.opener.location.href = '/confirmation/page.html';
于 2008-10-23T03:17:05.833 回答
0

F11 使 IE 和 Firefox 进入全屏模式。我确信全屏是可能的,因为 YouTube 和其他视频流媒体网站可以使用 Flash,但我不知道如何使用 javascript。

于 2008-10-23T02:55:15.830 回答
0

此功能对于支持全屏的移动浏览器更有趣。通过点击一个选项,大多数移动浏览器不会有全屏选项。您可以更改为切换到全屏以获得一点应用感觉。

于 2013-12-26T10:47:35.540 回答