我知道那里有很多这样的问题。但是,我遇到的问题是我正在构建javascript and/or jquery
(试过两者)来创建一个超链接的C#
页面,使用ScriptManager
来注册启动脚本并触发click
事件。
我想要这样做而不是重定向窗口的原因有时我需要能够将链接的目标更改为空白窗口。这就是我遇到这个问题的地方。正在创建链接而没有问题,并添加到页面并触发click事件。但是当target
为_blank
时,它实际上是在popup window
中打开,而不是在浏览器中打开新标签。弹出窗口与window.open()
相同。
我的页面上有target=_blank
的其他静态链接,它们在新标签页中打开,没有问题。只是在幕后创建并通过javascript以这种方式触发的链接。有什么想法吗?
string js = @"var link = document.createElement('a');
link.href='{0}';
link.target='{1}';
document.body.appendChild(link);
link.click();
link.remove();";
string link = String.Format(js, url, target);
JQuery方法:
string js = @"$('document').ready(function(){{
$('<a id=""tmpLink"" href=""{0}"" target=""{1}""></a>').appendTo('body');
$('a#tmpLink').trigger('click');
}});";