2014-07-09 114 views
0

有没有办法阻止浏览器标签使用jQuery?或者至少是否有一种方法可以创建一个可以在所有浏览器标签中同时运行的脚本。交易是我有一个可以多次发送的表单,这是正确的,他可以在我的浏览器中的多个选项卡中打开。我想创建某种封锁,停止移动到其他选项卡或提交其他表单,直到完成发送,并且看起来我无法找到一种方法来执行此操作。阻止浏览器标签使用jQuery

+1

真的很宽泛的问题,但它可以用JavaScript来完成。但是你必须让你的问题更具体,并且分享你到目前为止尝试过的代码。 – Esko

+0

JavaScript不能在浏览器中执行交叉表脚本(这是一种安全风险)。如果使用window.open()打开第二个选项卡,并且设置了浏览器设置,以便在新选项卡中打开新的弹出窗口,tab1可以与tab2 –

+0

进行通信否,但它可以创建ajax调用并用于例如阻止提交表单,或者告诉用户你在其他选项卡中没有完成的事情。 – Esko

回答

1

尝试HTML5本地存储:

$(function() { 
     var formLoadCount = parseInt(localStorage.getItem("FormLoadCount") || 0); 
     if (formLoadCount == 0) { 
      alert("form is successfully loaded"); 
     } 
     else { 
      alert("form is already loaded in another tab"); 
     } 
     formLoadCount = parseInt(formLoadCount) + 1; 
     localStorage.setItem("FormLoadCount", formLoadCount); 

     $(window).unload(function() { 
      formLoadCount = formLoadCount - 1; 
      localStorage.setItem("FormLoadCount", formLoadCount); 
     }); 
    });