如何打开父窗口中的所有window.open onclick函数

时间:2017-09-29 21:31:34

标签: javascript jquery html

在我的项目中,有几个div元素包含onclick事件,如下所示:

<div id='main'>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>
</div>

我现在的问题是,此页面可以在普通浏览器窗口中打开,也可以在弹出窗口中打开。如果在弹出窗口中打开此页面,我希望在父窗口中打开所有这些onclick链接。 有没有办法用javascript或者甚至用jquery来实现它?

3 个答案:

答案 0 :(得分:1)

定义您自己的函数以打开URL,并检查该窗口是否为弹出窗口。

function my_open(url) {
    if (window.opener) { // We're in a popup
        window.opener.location = url;
    } else {
        window.location = url;
    }
}

然后使用onclick='my_open("/folder/file.php")'

答案 1 :(得分:0)

这是一个关于codepen的简单示例: 我删除了div和open.window上的onlick属性,因为你想要在div下加载html内容...

使用Jquery

$('div#main div').click(function(){
  $( this ).load($(this).data('url'));
});

https://codepen.io/anon/pen/wrejLQ?editors=1111

答案 2 :(得分:0)

它应该是'_self'

<div id='main'>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>

    <div onclick='window.open("/folder/file.php", "_self")'>
        Content
    </div>
</div>