对整站的a连接进行监控,对匹配规则进行指定页面的跳转

项目中有个需求,就是将非本站的连接跳转到过渡页(提示即将离开本站的那种页面)。这个时候想起了腾讯邮箱,不安全连接会有新的页面提示,以下图: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安全

相关文章
相关标签/搜索