2

我想用javascript在后台打开一个文件。该代码在 chrome 中运行良好,但在 Firefox (12) 和 Opera 新窗口中在前台打开。

有人知道我在做什么错吗?

这是它的两个文件的代码:

父亲.html:

<html>
<body>
<script>
    var son=null;
    function openIt(){
        son=window.open('son.html','sonpage'); 
        son.blur(); 
        self.focus(); 
        window.focus(); 
        //alert("voy");
        return false;
    }
</script>
<a href="javascript:void(0)" onClick="openIt(); return false;">Open</a>
<a href="javascript:void(0)" onClick="son.close()">Close</a>
<button type="button" id="play2-video" onclick="son.play()">
    play2 video
</button>
<button type="button" id="pause2-video" onclick="son.pausa()">
    pause video
</button>   
Father Page
</body>

儿子.html:

<html>
<Head>
    <script>
        function play(){
            alert("Play!");
        }           
        function stop(){
            alert("Stop!");
        }
    </script>
</Head>
<Body>
    <h1> Son Page</h1>
</Body>

谢谢!

4

1 回答 1

1

如果设置了安全选项,Firefox 只会服从引发窗口的请求,并且默认情况下未设置。据我所知,Chrome 根本不会关注 focus() 请求。Safari 确实服从 focus() 请求。

特定的 Firefox 设置位于“工具 -> 选项”对话框中。有一个“内容”选项卡,其中有一个用于启用 Javascript 的复选框。随之而来的是一个“高级”按钮,它会打开另一个对话框,其中可以找到一个复选框以允许(或禁止)通过页面代码提升和降低窗口。

阅读https://stackoverflow.com/a/2533335/643500

试图弄乱代码——不高兴

该功能只需要:

function openIt(){
    son=window.open('son.html','sonpage'); 
    window.focus();
    return false;
}

尝试从打开的页面重定向回主页面,看看是否可以通过这种方式完成?

此外,查看 JQuery,它可能会处理类似http://api.jquery.com/focusout/之类的事件

于 2012-05-01T20:07:40.550 回答