在firefox和opera中使用javascript错误在后台打开一个窗口

时间:2012-05-01 19:35:56

标签: javascript firefox window.open

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

有谁知道我做错了什么?

这里有两个文件的代码:

father.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>

son.html:

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

谢谢!

1 个答案:

答案 0 :(得分:1)

  

如果安全选项,Firefox只会遵守提出窗口的请求   已设置,默认情况下未设置。 Chrome不会注意   就我所知,focus()请求完全是。 Safari确实服从了   focus()请求。

     

特定的Firefox设置位于“工具 - &gt;选项”对话框中。   有一个“内容”标签,其中有一个启用的复选框   的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/

之类的事件