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

发布于 2024-10-15 16:49:36 字数 567 浏览 1 评论 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。

I've noticed that some simple scripts in JavaScript that work perfectly on my local server don't work at all online.

How can be this possible? JS client-side scripting? Any ideas?

Sorry for not providing much information, and for my English, too.

Mine was a general question.

For example:

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

This piece of code works perfectly on my local Apache server on Ubuntu 9.10, with Firefox 3.6, 3.5, Google chrome and Opera.

When I upload it on my remote CentOS server, also running Apache, it doesn't work. No errors are displayed in Firebug or the console; it just doesn't run.

I'm using the same version of jQuery on both servers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱给你人给你 2024-10-22 16:49:36

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

Check console in your browser for errors. If it is Firefox - install firebug, if it chrome - press Ctrl + Alt + J.

不醒的梦 2024-10-22 16:49:36

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

JavaScript 安全限制

It depends on what your script is trying to do. "Any ideas?" is pretty broad. But client-side scripting has a lot more restrictions than server-side, for obvious security reasons. For example, if you could access the client's file system through client-side JS, any website on the internet would be able to take control of your system.

JavaScript Security Restrictions

内心荒芜 2024-10-22 16:49:36

看了你编辑的问题后,我认为很可能发生了两件事之一:

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

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

如果没有命中,请确保脚本的 src 是正确的、可访问的 URL。如果是,请将该行稳步向下移动到代码中,直到它不再触发。这应该可以帮助您找出错误所在。

Having looked at your edited question, I think it's most likely that one of two things is happening:

  • Some kind of error is causing the JS to fail before this code is hit (but you say FireBug isn't displaying an error, so if you've got FB set up right this shouldn't be the problem)
  • 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文