4

我的一位客户在他的计算机上安装了 Norton 360,它干扰了我网页中的 javascript。不是所有的JS,只是一些。

简单的事情比如

<a href="page.html" onclick="somefunc(); return false;">

不工作。同样使用 jQuery 将 onclick 事件附加到 a 标签也不起作用:

// doesn't work
$(document).ready(function() {
  $("#old_trans_link").click(viewOldTrans);
});

我应该告诉我的客户什么?我应该告诉我们的用户什么?有什么办法可以绕过这种疯狂吗?

每个做JS重页的人都一定会遇到这个。他们如何处理?

编辑:他还同时安装了 McAfee。

4

2 回答 2

3

我认为他们可能正在使用某种网络防护罩。尝试让他们为您的网站添加例外

编辑:添加链接

http://www.symantec.com/norton/360

在“高级保护”下

“阻止浏览器、操作系统和应用程序威胁;防止受感染的网站”

所以我认为应该有一种方法可以添加异常

于 2009-12-13T19:27:29.250 回答
3

我从未听说过防病毒软件会以这种方式干扰浏览器内的 JavaScript。我最好的猜测是他们的病毒扫描程序以非常激进的安全级别运行。

就解决此问题所需的工作量而言,最简单的选择是:

  • 建议您的用户降低他们的安全设置
  • 看看他们是否可以将您的网站列入白名单,以便应用程序正常运行
  • 推荐 Internet Explorer 以外的浏览器,或建议他们安装Chrome Frame

当然,如果这些选项不可行,您可能必须采用更简单的方法在页面上使用 JavaScript。无需在站点上使用 JavaScript,而是使用它来增强站点并使功能更易于使用。

为此,您必须使网站上的所有内容都在禁用 JavaScript 的情况下工作。让所有东西都向服务器执行 POST 以进行处理。JavaScript 将位于所有这些之上,以增强使用 JavaScript 的用户的体验。在这种情况下,诸如防病毒阻止锚链接上的点击事件之类的事情最终会提交给服务器。

当然,这需要您做更多的工作,因为它几乎需要编写网站的 2 个版本。这是一个一直在网上提出的论点,即使在开发 StackOverflow 时也是如此,正如他们的博客所讨论的那样

你最好告诉他们为你的网站添加一个例外。

于 2009-12-13T19:31:33.123 回答