有没有办法配置IIS或Web应用程序,以便在单击超链接时自动打开新窗口?我的问题并不像听起来那么简单,让我解释一下......我知道你可以在锚标签中使用javascript或target =“_ blank”,但我并不总是知道什么时候锚标签可能列在页面...
原因是它是一个用户论坛,想到堆栈溢出;)用户可能输入一个URL(允许)并且它不一定是已知的,或者它是在很久以前输入的,并且没有办法告诉。
我很确定答案是否定的,我只需要在保存帖子/条目时分析URL并将其转换为执行此操作...任何提示都表示赞赏!
答案 0 :(得分:10)
<html>
<head>
<base target='_blank'> <!-- Here's the interesting bit -->
</head>
<body>
<p><a href='http://google.com'>New window!</a></p>
</body>
</html>
当然,它确实会执行所有链接 - 如果您希望链接成为规则的例外,并在当前窗口中打开,请执行以下操作:
<p><a href='http://google.com' target='_self'>Not new window!</a></p>
答案 1 :(得分:4)
IIS不会与它有任何关系 - 没有编写一个可以重写所有链接的过滤器。我建议使用JQuery,它应该像以下一样简单:
$(function() {
$('A').attr('target', '_blank');
});
答案 2 :(得分:1)
您可以创建一个捕获ReleaseRequestState事件的HTTP模块。然后你会在你的HttpResponse上附上一个过滤器。过滤器可以搜索<a>
标记,并将target='_blank'
添加到尚未拥有它们的标记中。