我有一个带有超链接控件的数据网格,用户可以单击它,它将打开一个新选项卡,显示有关所选项目的信息。我的问题是,如果点击相同的项目3次,我的浏览器上会有3个新选项卡。
有没有办法在第一次点击链接时打开标签,只要它打开并且有人选择链接,它是否可以将焦点放在已创建的标签上而不是打开新标签?
超链接控件的目标设置为“_blank”。
我正在使用C#和Asp.net 4.5。
答案 0 :(得分:1)
您可以在<asp:HyperLink
NavigateUrl="https://www.google.com"
Text="Go to Google"
Target="SameWindow"
runat="server"/>
<asp:HyperLink
NavigateUrl="http://stackoverflow.com"
Text="Go to StackOverflow"
Target="SameWindow"
runat="server"/>
属性中指定名称:
<a href="http://www.google.com" target="SameWindow">Go to Google</a>
<br />
<a href="http://stackoverflow.com" target="SameWindow">Go to StackOverflow</a>
HTML示例:
window.open
这是(我相信)与使用javascript window.open
函数传递窗口名称相同。命名窗口打开一次后,传入该名称的var openTarget = function() {
console.log(this);
var target = this.getAttribute("attr-target");
window.open(target, "ExampleName");
}
var elems = document.querySelectorAll("button");
Array.prototype.forEach.call(elems, function(e) {
e.addEventListener("click", openTarget);
});
的后续调用将在已经打开的窗口中加载新URL。
这是一个示例代码段。由于安全限制(CORS),您可能必须在完整的JSFiddle页面中运行代码段。
<button attr-target="https://www.google.com/">Open Google</button>
<button attr-target="http://stackoverflow.com/">Open StackOverflow</button>
{{1}}
答案 1 :(得分:0)
你可以借助这个simle代码
来做到这一点<p onclick="window.open('www.sample.com','mywindow').focus()" >Visit Now</p>
答案 2 :(得分:0)
只需将目标设置为某个名称,如
<a href="http://google.com" target="anyname">a link</a>