首页 > 解决方案 > Window.location 在 JavaScript 中停止工作

问题描述

我正在制作一个网络应用程序。刚刚发生了一件非常奇怪的事情。我正在一个文件夹中编写一个页面,然后我想从一开始就测试我的应用程序。这段代码在停止工作前半小时工作:

window.location = "/navigation/navigation.html";

我没有重命名任何东西,也没有更改第一个 .js 文件。我使用 Linux Ubuntu 和 Google Chrome 来查看我的工作。系统有什么变化吗?我应该怎么做才能解决这个问题?

第一个 .js 程序位于登录文件夹中,重定向到导航文件夹。

这是导航文件夹的外观。

标签: javascriptubuntuwindow.location

解决方案


简短的坏答案:

用这个。

window.location = "./navigation/navigation.html";

长的好答案:

这取决于您使用的 Web 服务器。

如果您使用的是 nginx / apache,并将 root 设置为 navigation.html 所在的文件夹,那么绝对路径"/navigation/navigation.html"就可以了。

如果你只是双击 HTML 文件,那么你需要使用相对路径,如下:

window.location = "./navigation/navigation.html";

尝试有一个一致的发展环境。您可以配置的最简单的服务器是http-servernpm 包,您可以使用以下命令安装它:

sudo apt install npm
npm install -g http-server

然后使用如下:

cd /folder/of/your/project
http-server # command hangs this terminal!

localhost:8080然后在您的网络浏览器中打开。然后,您的网络应用程序中的所有路径相对于您运行http-server命令的文件夹都是绝对路径。例如,您可以/folder/of/your/prjoect/navigation/navigation.html通过输入 url来访问localhost:8080/navigation/navigation.html

如果您准备迎接挑战,请尝试安装和使用,nginx而不是简单的http-server. 它为您提供了更多选择,包括运行服务器端代码的能力。您可以使用 apt 安装它,并在此处了解如何使用它:https ://nginx.org/en/docs/beginners_guide.html


推荐阅读