如何使 JavaScript 代码停止离线运行



我正在用Javascripts在线制作一个模型查看器。出于安全原因,我不希望用户可以在我的网站之外的任何地方运行它。

我已经混淆并锁定了域,但如果用户下载整个网站,他们仍然可以离线运行。

那么,如何检测用户正在离线运行并停止使用 Javascript 工作?

谢谢。

var checkAfter=15; //15 seconds
  setTimeOut(CheckNavigatorState,checkAfter*1000);
function CheckNavigatorState(){
   if(navigator.onLine){
       //  --- Add javascript src OR call js functions here
   }else{       
      //----remove javascript source OR stop functions    
    setTimeOut(CheckNavigatorState,checkAfter*1000);
   }
}

我想提一下,判断浏览器是否离线并不容易。一些浏览器供应商表示,当计算机失去与网络的连接时,浏览器处于脱机状态,这并不准确。我们知道您可以访问局域网,但不能访问互联网。因此,要执行您可能需要ping真正远程服务器的操作,例如Google

编辑

:要使用JavaScriptping,请检查此小提琴(已编辑)

你可以使用 window.location 属性 (http://www.roberthalf.com/technology/External_Sites/content/RHT-NA3/Shared/Images/logos/rht_logo_c.gif) 让 javascript 代码检查它正在运行的域,但这只会阻止那些不知道如何修改 javascript 代码的人在本地运行它。 更好的解决方案是使您的代码依赖于服务器上的某些内容,以便每当他们尝试执行重要操作时,它都会对服务器进行 ajax 调用,然后服务器可以检查引用器并在它们未从服务器运行时返回错误。

最新更新