从* any * URL从aspx页面打开新窗口

时间:2009-05-01 22:17:38

标签: asp.net javascript html iis

有没有办法配置IIS或Web应用程序,以便在单击超链接时自动打开新窗口?我的问题并不像听起来那么简单,让我解释一下......我知道你可以在锚标签中使用javascript或target =“_ blank”,但我并不总是知道什么时候锚标签可能列在页面...

原因是它是一个用户论坛,想到堆栈溢出;)用户可能输入一个URL(允许)并且它不一定是已知的,或者它是在很久以前输入的,并且没有办法告诉。

我很确定答案是否定的,我只需要在保存帖子/条目时分析URL并将其转换为执行此操作...任何提示都表示赞赏!

3 个答案:

答案 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'添加到尚未拥有它们的标记中。