用户点击链接后我可以操纵DOM吗?

Ben*_*ull 3 html javascript dom

我试图了解一旦点击链接或提交表单后浏览器的行为 - 任何由用户触发的操作,并以他们登陆新URL结束.我被要求在按钮和链接上安装一些跟踪代码,这依赖于src在点击时更新不可见的iframe 属性.

所以 - 我的具体问题是:

  • 一旦用户点击链接,我可以依赖DOM可操作吗?也就是说,我可以更新节点上的属性,并且可以确保在新页面加载之前这会成功吗?

  • 这些操作触发的任何请求(例如,我给iframe一个新src属性)是否可靠?显然,新页面已在请求完成时加载 - 但是可能(但可能无法跟踪)请求已成功完成.

我的直觉是,这些都不可靠 - 我绝对不会自己编写这样的系统.我真的在寻找参考或规格,所以我可以做一个更好的方法.

谢谢!

kar*_*una 5

完成所有操作后,您可以继续页面加载.像这样:

document.body.addEventListener('click', function(e){
    if(e.target.tagName.toLowerCase() === 'a'){
        e.preventDefault();
        var href = e.target.getAttribute('href');
        // do your job here
        window.location.href = href; // navigate
    }
});
Run Code Online (Sandbox Code Playgroud)

小提琴