我有一个 JavaScript 文件的 Web 应用程序将包含以下代码行:
var arrowimages = { down: ['downarrowclass', 'images/AppNavDownArrow.gif', 23], right: ['rightarrowclass', 'images/AppNavRightArrow.gif'] }
当我位于 Web 应用程序的根目录时,对图像的引用按预期工作。当我浏览到我的应用程序中的子文件夹时,它会将相同的子文件夹添加到图像 URL,但不会加载。
当我位于应用程序的子文件夹中时,如何修改代码以使其指向创建图像路径?
最佳答案
你应该用 /
引导路径.这样,路径将始终从域根解析。
var arrowimages = { down: ['downarrowclass', '/images/AppNavDownArrow.gif', 23], right: ['rightarrowclass', '/images/AppNavRightArrow.gif'] }
否则,它们将相对解析为当前 URL;通过将路径添加到当前文件夹的末尾(除非您使用的是 <base/ >
tag(如果是,请将其删除))。
如果您的应用程序位于子文件夹中(例如 http://example.com/myapp ),那么您需要在路径前加上 myapp
前缀例如; /myapp/images/AppNavDownArrow.gif
.
对于可移植解决方案,您可能需要考虑使用配置参数来存储应用程序的根目录(例如 root = /myapp/
)。然后您可以在 config
中输出此参数JavaScript 中的对象为 explained in my other answer .您的网址将如下所示;
var arrowimages = { down: ['downarrowclass', config.base + '/images/AppNavDownArrow.gif', 23], right: [config.base + '/rightarrowclass', '/images/AppNavRightArrow.gif'] }
关于javascript - 如何始终解析相对于我的 Web 应用程序根目录的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9621263/