我正在尝试在新窗口中打开一个链接,但是该链接可能包含一个额外的QueryString,当用户单击该链接时,该链接很不幸。所以即使链接也在代码中给出,如:
<a href="somepage.aspx">click</a>
当用户点击我希望用户转到
时<a href="somepage.aspx?id=1">click</a>
并在用户单击链接时计算上述示例中的“1”值。我知道我可以用
完成这个任务<script>
function openlink()
{
var calc_i;
// do calculations and update calc_i value
window.open("somepage.aspx?id="+calc_i);
}
</script>
<a onclick="openlink()">click</a>
这会产生一个弹出窗口(我不想要)。 你的建议是什么?
答案 0 :(得分:3)
最好只在链接中使用查询字符串,它会更有意义。
您可以尝试在类似onclick的事件中附加代码。
<a href="somepage.aspx" onclick="openlink(this)" target="_blank">Hello</a>
function openlink(anchor){
var calc_i = 1;
var page = anchor.getAttribute('href');
anchor.setAttribute('href',page + '?id=' + calc_i);
}
答案 1 :(得分:2)
尝试以下方法:
function openlink()
{
var calc_i;
// do calculations and update calc_i value
window.open("somepage.aspx?id="+calc_i, "_blank");
}
您可以指定新窗口的名称,该名称应在window.open中打开。如果您使用_blank
,则会在一个全新的窗口中打开。