【问题标题】:Opening a URL stored in a JavaScript Variable打开存储在 JavaScript 变量中的 URL
【发布时间】:2015-03-19 14:53:18
【问题描述】:

这是我的功能:

function myFunction() {
    var user_url = document.getElementById('pdurl').value;  
    if ( document.getElementById("menu").value == 'en' ) {
        window.open(user_url);

    } 
}

【问题讨论】:

  • function OpenInNewTab(url) { var win = window.open(url, '_blank'); win.focus(); }
  • 您的错误是什么,您的目标是什么,您能否提供更多信息,解释一下。你测试了什么,试图找到解决方案。
  • 这是一个问题还是某种文档?
  • 感谢您的回复时间和精力,非常感谢。我正在尝试为我的客户创建一个表单,其中用户提交一个 URL 并从下拉列表中选择一个值。我编写了一个代码,它检查从下拉列表中选择的值并打开 URL 的修改版本。

标签: javascript html


【解决方案1】:

开窗功能需要第二个参数。看看这里:https://developer.mozilla.org/en-US/docs/Web/API/window.open。第二个参数是新窗口的名称。为新窗口创建一个新变量也是一个好习惯,这样您将来可以更改一些内容。

更新的代码行:

var newwindow = window.open(user_url, 'windowname');

我刚刚意识到,target= "_blank" 或窗口名称设置为"blank" 并不那么明显(在 cmets 中提到)。阅读:window.open with target "_blank" in Chrome。如您所见:“_blank 不保证是新标签或窗口。每个浏览器的实现方式不同”。在这种情况下,只使用窗口的新名称或使用 _tab 会更安全。更新了我的答案,因此目标现在只是 'windowname'


更新: 在 cmets 中,您询问了如何将参数传递给这个新窗口 url。如果您的意思是get 参数(稍后可以在服务器端脚本中使用,例如php),请使用简单的字符串连接:

user_url = user_url + '?parameter=value';
var newwindow = window.open(user_url, 'windowname');

【讨论】:

  • 这就是我的评论
  • @BhargavModi 那么为什么不把它写成答案而不是评论呢?
  • @WimOmbelets 我写过,但它已经发表评论我不知道为什么任何方式的答案都很重要,而不是时机
  • 答案作为评论进入??.. 这是一个 BUG 还是 SO 中的任何 AI 实现会自动决定它应该去哪里?
  • 然后将'?parameter=value'替换为:'/trends'
猜你喜欢
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 2021-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多