jquery在具有高度+重量的弹出窗口中打开url并将参数传递给它

Posted

技术标签:

【中文标题】jquery在具有高度+重量的弹出窗口中打开url并将参数传递给它【英文标题】:jquery open url in popup window with height + weight and pass a param to it 【发布时间】:2012-06-30 04:36:48 【问题描述】:

我试图在单击 div 时加载一个 url,但在一个具有特定大小的新窗口中。例如我会有

<div id="mydiv>
   Roy
  click on this div
</div>

<div id="mydiv>
   Alex
  click on this div
</div>

然后想法是会弹出一个新窗口(不是模态窗口),其大小为 300x400px。 用户名应该被传递到这个窗口,我希望能够在我的 Web 应用程序中使用它来做一些事情。 Jquery 只需要调用类似 /chatwindow/?user=rob

解决这个问题的好方法是什么?

【问题讨论】:

【参考方案1】:

试试这个

<div id="mydiv">
   Alex
  click on this div
</div>



 <script type="text/javascript">
        var windowSizeArray = [ "width=200,height=200",
                                "width=300,height=400,scrollbars=yes" ];

        $(document).ready(function()
            $('#mydiv').click(function (event)

                var url ="www.yourdomain.com/chatwindow/?user=rob";
                var windowName = "popUp";//$(this).attr("name");
                var windowSize = windowSizeArray[ $(this).attr("rel") ];

                window.open(url, windowName, windowSize);

                event.preventDefault();

            );
        );
    </script>

【讨论】:

【参考方案2】:

试试这样的:

<div id="mydiv">
    <span id="username">Alex</span> click on this div
</div>
<script>
$('#mydiv').click(function()
    window.open(' /chatwindow/?user='+$('#username').text(), '_blank', 'width=300,height=400');
return false;
);
</script>

或者这个

<div id="mydiv">
    Alex click on this div
</div>
<script>
var username = 'Alex';
$('#mydiv').click(function()
    window.open(' /chatwindow/?user='+username, '_blank', 'width=300,height=400');
return false;
);
</script>

或者这个

<div id="mydiv">
    Alex click on this div
        <input type="hidden" name="username" value="Alex">
</div>
<script>
var username = 'Alex';
$('#mydiv').click(function()
    window.open(' /chatwindow/?user='+$('#mydiv > input[name="username"]').val(), '_blank', 'width=300,height=400');
return false;
);
</script>

【讨论】:

好的,谢谢!差不多就是这样,但是 1 JS 脚本必须方便多个 div,所以一种从 id="alex" 之类的元素传递用户名并使用它并传递它的方法就像问题一样 好吧: Alex 点击这个 div Jonh 点击这个 div 【参考方案3】:

好的,试试这个

<div id="mydiv-alex" class="mydiv">
    Alex click on this div
</div>
<div id="mydiv-jonh" class="mydiv">
    Jonh click on this div
</div>
<script>
    $('.mydiv').click(function()
    window.open(' /chatwindow/?user='+$(this).attr('id').replace('mydiv-',''), '_blank', 'width=300,height=400');
    return false;
    );
</script>

【讨论】:

【参考方案4】:

http://www.jquerybyexample.net/2012/05/open-link-in-new-tab-or-new-popup.html

$(document).ready(function() 
$('A.BLAH').click(function() 
var NWin = window.open($(this).prop('href'), '', 'height=600,width=1000');
if (window.focus)

NWin.focus();

return false;
);
);

【讨论】:

以上是关于jquery在具有高度+重量的弹出窗口中打开url并将参数传递给它的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 HREF 标签打开一个固定大小的弹出窗口?

在 jQuery Mobile 的弹出窗口中打开外部页面

如何使用 jquery 禁用 android 键盘的弹出窗口?

在多个页面上打开相同的弹出对话框 Jquery Mobile 1.4.5

打开POST传参的弹出窗口

jquery如何弹出一个新页面?