JavaScript在本地工作的方式与在线不同

时间:2011-02-02 15:01:44

标签: javascript jquery serverside-javascript

我注意到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。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

<强> JavaScript Security Restrictions

答案 2 :(得分:0)

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

  • 某种错误导致JS在此代码被命中之前失败(但是你说FireBug没有显示错误,所以如果你设置了FB,这应该不是问题)
  • 整个脚本永远不会被点击,可能是由于src标记中的script属性不正确。

尝试在JS代码中尽早放置debugger;行或alert。这应该告诉你脚本是否被命中(debugger命令应该告诉FireBug进入调试模式,只要你在加载页面时启用了FB的脚本标记)。

如果没有被点击,请确保脚本的src是正确的,可访问的URL。如果是,请将代码线稳定地向下移动,直到它不再触发为止。这应该可以帮助您找出错误的位置。