Я делаю расширение Chrome для PDF-ссылок
function getD(info, tab) { var url = info.srcUrl; var sb = "http://www.abcfadsds.com/?url="+info.linkUrl; chrome.tabs.create({"url":sb}); }
Теперь это работает для большинства ссылок, но если щелкнуть правой кнопкой мыши ссылку в Google / Facebook сгенерированный URL-адрес что-то вроде
http://www.google.co.in/url?sa=t&rct=j&q=pdf&source=web&cd......................
как получить исходный URL ??
Обычно это переменная в URL. Например, в ссылках Google вы увидите что-то вроде .... url=http%3A%2F%2Fwww.aaa.com%2F ... так что вам просто нужно получить значение для URL из ссылки и удалить его. Theres большой JS для анализа URL здесь ... http://blog.stevenlevithan.com/archives/parseuri ... используя то, что вы могли бы сделать (для ссылки Google) ...
url=http%3A%2F%2Fwww.aaa.com%2F
url = parseUri('http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDMQFjAA&url=http%3A%2F%2Fwww.aaa.com%2F&ei=g2p1T4u6HcSoiAeO8-DYDg&usg=AFQjCNECtBRRPOF1ooUuuMtNR5y7DSChGQ'); link = unescape(url.queryKey.url);