我有一个更复杂的重定向请求。当它点击一个链接时,我希望在打开链接之前有2秒的时间延迟,但是我希望这适用于页面上点击的任何链接。当前重定向的问题是您必须指定一个URL,我希望在单击任何链接时应用时间延迟,然后重定向到该特定链接。
您必须使用当前的URl元标记指定着陆网址,因为我需要它来指向点击的链接。
答案 0 :(得分:2)
嗯,你可以做这样的事情:
document.addEventListener('click', function(e) { // when the document is clicked
if (e.target.tagName === "A") { // check if target was an anchor
e.preventDefault(); // if so prevent default behaviour
var url = e.target.href; // save the url
setTimeout(function() { // queue up a timeout that
window.location = url; // sets the location after
}, 2000); // two seconds
}
}, false);
请注意addEventListener()
与IE不兼容< 9,但有ways to deal with that我将留给你自己做。