项目中有个需求,就是将非本站的链接跳转到过渡页(提示即将离开本站的那种页面)。这个时候想起了腾讯邮箱,不安全链接会有新的页面提示,如下图:
本以为ASP.NET中有全局的方法获取到点击或者跳转的链接,结果也没找到。Request和Response都取不到的,HttpModule,HttpHandle,Global中也一样,毕竟跳转之后是到别人的网站上去了。不晓得IIS上能否监控的到。最后只能在a标签上加Onclick了。由于a标签的onclick要比href先执行,所以把a标签统一加上onclick事件,利用return false来控制href的执行。
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); }); });
代码仅供参考,若您有更好的方法请在评论中分享。
参考http://www.cnblogs.com/goldarch/archive/2010/06/16/1759031.html