项目中有个需求,就是将非本站的连接跳转到过渡页(提示即将离开本站的那种页面)。这个时候想起了腾讯邮箱,不安全连接会有新的页面提示,以下图:javascript
本觉得ASP.NET中有全局的方法获取到点击或者跳转的连接,结果也没找到。Request和Response都取不到的,HttpModule,HttpHandle,Global中也同样,毕竟跳转以后是到别人的网站上去了。不晓得IIS上可否监控的到。最后只能在a标签上加Onclick了。因为a标签的onclick要比href先执行,因此把a标签统一加上onclick事件,利用return false来控制href的执行。html
var extLinkArr = ["aaa.net", "bbb.net", "ccc.gov.cn", "ddd.com", "qq.com"];//排除包含这些字符的连接 function _openExtLink(a) { if (a.href.indexOf("javascript:") >= 0) { return false; } var r = a.href; for (var i = 0; i < extLinkArr.length; i++) { if (r.indexOf(extLinkArr[i]) > -1) { return true;//若是在指定的排除连接中,就执行href; } } window.open("http://abc.com/Outside.html?url=" + encodeURIComponent(r), "_blank");//跳转到新页面作题时 return false; } $(function () { $("a").click(function () { return _openExtLink(this); }); });
代码仅供参考,若您有更好的方法请在评论中分享。java
参考http://www.cnblogs.com/goldarch/archive/2010/06/16/1759031.html安全