Добрый вечер!
Есть задача: при клике на любую ссылку отправлять данные способом JSONP на другой сервер... Решение работает на всех современных браузерах, НО... в браузерах IE<10 не работает редирект/переход по ссылке, а данные отправляются... пример скрипта ниже. Буду благодарен за любые советы и подсказки. Спасибо!
var data = {url:"-1", burl:"-1", text:"-1"}
function _SendData(data){
var sc = document.createElement('script');
var jsonp = 'jsonp=' + encodeURIComponent('{"url":"'+data.url+'","burl":"'+data.burl+'","text":"'+data.text+'"}');
sc.id = Math.random();
sc.async = true;
sc.type = 'text/javascript';
sc.src = 'http://domain.com/test.php?' + jsonp + '&r=' + Math.random();
document.getElementsByTagName('body')[0].appendChild(sc);
sc.onload = function(){
sc.parentNode.removeChild(sc);
document.location.href = data.url;
return true;
};
}
function _Track(e) {
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) targ = targ.parentNode; // defeat Safari bug
data.url = targ.href;
data.burl = targ.baseURI;
data.text = targ.text;
if(targ.tagName == 'A') { _SendData(data); }
return false;
};
document.body.onclick = _Track;