【问题标题】:open new browser window within dialog ajax call - jquery NOT popup在对话框 ajax 调用中打开新的浏览器窗口 - jquery 不弹出
【发布时间】:2011-06-01 22:45:21
【问题描述】:

我被难住了。在这种情况下如何使用 jquery 打开链接“go”?

打开一个对话框,然后单击激活按钮。该链接应该打开一个新的浏览器窗口/选项卡,就像单击带有 target=_blank 的链接“go”一样。

<div id="dialog">
<a href="http://stackoverflow.com" target="_blank" >go</a>
</div>
<script type="text/javascript">
$( "#dialog" ).dialog({buttons: {
"Activate": function(event) {
    $.get("404.html").error(function(){ 
    $("#dialog a").click(); //doesnt work
    $("#dialog a").trigger("click"); //doesnt work
    window.open("http://stackoverflow.com",'_blank'); //opens a popup, not what i need
    window.location.href //is not what i need since its in same window/tab
       });
    }
}});
</script>

【问题讨论】:

  • .click() 只适用于 div/span 元素,所以试试 $("#dialog").click()

标签: jquery


【解决方案1】:

你说对了一部分。你确实使用window.open(strUrl, strWindowName[, strWindowFeatures]);。但是,您必须填写更多属性。

window.open('link','mywindow','width='+ $(window).width() +',height='+ $(window).height() +',toolbar=yes, 
location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes, 
resizable=yes')

这是关于如何使用 window.open 的好文档:https://developer.mozilla.org/en-US/docs/Web/API/Window.open

以下是您可以使用的属性的简短列表:

  1. 宽度=300 使用它来定义新窗口的宽度。

  2. 高度=200 使用它来定义新窗口的高度。

  3. 可调整大小=是或否 使用它来控制您是否希望用户能够调整窗口大小。

  4. 滚动条=是或否 这让您可以决定是否在窗口上设置滚动条。

  5. 工具栏=是或否 新窗口是否应该在顶部有浏览器导航栏(后退、前进、停止按钮等)。

  6. 位置=是或否 您是否希望显示带有当前 url 的位置框(输入 http:// 地址的位置)。

  7. 目录=是或否 窗口是否应该显示额外的按钮。 (什么很酷,个人按钮等...)。

  8. 状态=是或否 是否在窗口底部显示窗口状态栏。

  9. 菜单栏=是或否 是否在窗口顶部显示菜单(文件、编辑等)。

  10. copyhistory=是或否 是否将旧浏览器窗口的历史记录列表复制到新窗口。

【讨论】:

  • mozilla 链接返回 404
  • @Yasser 更新了 mozilla 链接
【解决方案2】:

你可以试试window.open('http://stackoverflow.com', '_newtab');。请记住,此行为主要由浏览器控制,因此结果可能会有所不同。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
相关资源
最近更新 更多