0

我注意到,在我的本地服务器上完美运行的 JavaScript 中的一些简单脚本根本无法在线运行。

这怎么可能?JS客户端脚本?有任何想法吗?

很抱歉没有提供太多信息,也很抱歉我的英语。

我的问题是一般性的。

例如:

$('#posticipa').click(function(){
    var stato = $('#future').css('display');
    if(stato == 'none'){$('#future').css('display', 'block');}
    else{ $('#future').css('display', 'none');}
});

这段代码在 Ubuntu 9.10 上的本地 Apache 服务器上完美运行,带有 Firefox 3.6、3.5、Google chrome 和 Opera。

当我将它上传到我的远程 CentOS 服务器上时,它也运行 Apache,它不起作用。Firebug 或控制台中不显示错误;它只是不运行。

我在两台服务器上使用相同版本的 jQuery。

4

3 回答 3

2

检查浏览器中的控制台是否有错误。如果是 Firefox - 安装 firebug,如果是 chrome - 按 Ctrl + Alt + J。

于 2011-02-02T15:08:11.143 回答
1

这取决于您的脚本试图做什么。“有任何想法吗?” 相当广泛。但是出于明显的安全原因,客户端脚本比服务器端有更多的限制。例如,如果您可以通过客户端 JS 访问客户端的文件系统,那么互联网上的任何网站都可以控制您的系统。

JavaScript 安全限制

于 2011-02-02T15:04:46.783 回答
0

查看您编辑的问题后,我认为最有可能发生以下两件事之一:

  • 某种错误导致 JS 在此代码被命中之前失败(但您说 FireBug 没有显示错误,所以如果您正确设置了 FB,这应该不是问题)
  • The entire script is never getting hit, probably due to an incorrect src attribute in the script tag.

Try putting a debugger; line or an alert somewhere very early in your JS code. That should tell you whether the script is getting hit (the debugger command should tell FireBug to go into debug mode, provided you have FB's Script tag enabled on when you load the page).

If it isn't getting hit, make sure the script's src is the correct, reachable URL. If it is, move the line steadily down your code until it doesn't fire anymore. That should help you figure out where the error is.

于 2011-02-02T16:17:28.527 回答