Vkontakte external links

By Eugene Schava Last update Mar 13, 2008 — Installed 1,923 times. Daily Installs: 2, 1, 2, 6, 4, 1, 4, 1, 1, 4, 0, 1, 2, 0, 5, 1, 6, 0, 3, 4, 3, 2, 1, 1, 2, 1, 3, 2, 5, 2, 1, 2
// ==UserScript==
// @name           Vkontakte external links
// @namespace      http://userscripts.org/scripts/show/23867
// @description    Fixes external links for Vkontakte.ru
// @include        http://vkontakte.ru/*
// ==/UserScript==

(function() {
	var vkontakte_external_link_prefix = "http://vkontakte.ru/away.php?to=";
	var path = "//a[starts-with(@href, '" + vkontakte_external_link_prefix + "')]";
	var vkontakte_external_link_prefix_length = vkontakte_external_link_prefix.length;	

        var query = document.evaluate(path, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var i = 0, length = query.snapshotLength; i < length; i++)
        {
            var link = query.snapshotItem(i);
	    var encodedHref = link.href.substr(vkontakte_external_link_prefix_length);
	    link.href = unescape(encodedHref.replace(/\+/g, " "));
	    link.target = "";
        }
})();