Javascript 不能在 localhost 上运行,但它可以在 Live 站点上运行

Posted

技术标签:

【中文标题】Javascript 不能在 localhost 上运行,但它可以在 Live 站点上运行【英文标题】:Javascript not working on localhost, but it is working on Live site 【发布时间】:2011-10-30 15:06:45 【问题描述】:

我在 XAMPP 本地主机上遇到 javascript 问题。折叠按钮、转到顶部按钮和 jQuery 新闻提要在我的本地主机上的每个站点上都不起作用。

但 Facebook、Twitter、Plusone 按钮从远程服务器(即从各自的社交网站)正确加载。

所以,我认为它缩小了我的范围,即本地托管的 JavaScript 文件没有执行,而来自 Facebook 等的文件正在执行。

我尝试重新安装 XAMPP,但没有成功。

【问题讨论】:

一个代码示例会很棒!! 会不会是 XMLHTTPRequest 的同源限制? 在 Chrome 开发者工具控制台中检查 404 错误 - 可能只是您的路径不正确。 @JLevett 以 Vbulletin.com 为例,返回顶部和论坛折叠按钮工作正常。在本地主机中的我的网站上,它什么也不做。同样,我添加了一个 Jquery 新闻代码,它在我的实时站点上运行,但在本地主机上运行 :(KerrekSB - 对不起兄弟,我不明白,你能详细说明吗?德克斯特 - 我使用 Firebug 和错误控制台检查,一切看起来很好。 【参考方案1】:

我知道这很旧,但是我遇到了同样的问题,并在搜索解决方案时发现了这个问题。但是我在 ubuntu 上安装了lampp,并且由于 Linux 要求执行任何操作的权限,因此驻留在 htdocs 中的本地 js 文件未经许可。之后:

sudo chmod 777 -R /opt/lampp/htdocs   

... 一切正常。希望这对未来的 wanabee 网络开发人员有所帮助。

【讨论】:

【参考方案2】:

无论您的文件是否是本地文件都无关紧要...javascript 仍应被执行。尝试使用一些调试工具,例如查看是否有任何仅在本地计算机上发生的错误。因为它可能是您正在运行一些依赖于域或其他的代码。

【讨论】:

感谢您的回复!我确实在 Firebug 中检查过,但仍然找不到问题所在。 尝试安装 webdeveloper 工具栏...看看在运行页面时是否会显示更有意义的错误消息。 嗨,Baszz,我安装了 Web Developer 插件并遇到了很多错误,但看起来都很相似。错误之一是引用未定义的属性 f[h] ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js 不是真的 :) 我的意思是 js 可能会在本地触发,但是例如我们心爱的 g+1 按钮在您的本地站点上不起作用;)使用您自己的 css 样式表自定义时,fb like 按钮也不起作用;) 但问题是,在 localhost 我已经安装了许多站点。所有这些网站也不执行本地 Javascript 代码。【参考方案3】:

我知道这篇文章很旧并且已经给出了答案,我只是想给出我遇到的可能原因的答案,以防其他人发现它并且没有帮助。

确保通过查看您的页面源代码来执行您的整个 html 代码。对我来说,我的一半代码没有被执行,因为 php 错误在本地数据库上运行,但在实时数据库上没有运行。这导致 HTML 从我的 javascript 上方的那一点开始剪切。

所以请检查您的页面来源。如果它在某处被切断,找出原因:)

【讨论】:

【参考方案4】:

从命名空间示例的文件名中删除任何(前在后)空格:localhost:port/dir /index.html 本地主机:端口/目录/index.html

【讨论】:

在此示例中,空格位于 dir.../ 之后,因为必须删除所有空格 dir/ 。或重命名文件名。【参考方案5】:

在类似的情况下, 如果 Web 项目站点在 Live Server 上运行 JS,但不在本地打开的 index.html 上, 尝试检查 HTML 文件路径的有效性,

例如,你可能写过:

<script src="script.js"></script>

代替:

<script src="./script.js"></script>

尝试在文件名前添加./。

./ 表示当前目录。

【讨论】:

不以/? 或 URL 方案开头 表示“当前目录”,因此不会有任何区别。

以上是关于Javascript 不能在 localhost 上运行,但它可以在 Live 站点上运行的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 xampp 在 localhost 中加载 javascript 文件

进行 javaScript 调用以使用在 localhost 上运行的 REST API

在 Google Colab 上,来自 Javascript 的 localhost 访问失败

XAMPP/Localhost 外部 Javascript 文件为空

Gstreamer:为啥我不能在 localhost 上通过 UDP 发送数据?

为啥我的 css 不能在 localhost.3000 上应用?