gpt4 book ai didi

javascript - 为 Javascript 重写根目录路径 "/"

转载 作者:搜寻专家 更新时间:2023-11-01 04:20:15 25 4
gpt4 key购买 nike

我们可以修改PHP的文档根目录路径

$_SERVER['DOCUMENT_ROOT'] = "to/some/new/directory";
//Now the "/" which represent the ^(above) path

在 .htaccess 中我们有

RewriteBase "/to/some/new/directory"

现在,我需要修改根目录路径以在 javascript 中使用。怎么做?

目前,我正在声明一个变量,其中包含指向我的个性化根目录的静态路径,并将其用作

var root = "../to/new/path";
document.location = root+"/somepage.php";

场景

我想我应该讲一下场景,让你们明白我的想法

默认网络根目录

http_docs/

里面有一个主文件夹

http_docs/application <-- contains the actual application
http_docs/js <-- contains the script
http_docs/index.html

现在,该应用程序还包含用于更新、编辑、加载新内容或其他资源的 ajax 功能,如果在“/”访问这些资源,则表示在/some/path/i/called 而不是/application/some/path/我/打电话,

解决这个问题我可以定义一个静态变量,比如

var root = "application/";

然后在类似的地方使用它

$.post(....., function(data) { $(body).append("<img src='"+root+"resources/img1.jpg"); });

但对于单次使用,将路径定义为静态,可能没什么大不了的,但是,当应用程序增长时,某些修改会导致我更改我在 js 部分中提供的所有路径。我想,这很明智,就像我在 PHP 中使用 <img src="/resources/img1.jpg" /> 一样

这个问题我已经尽力解释了,如果还是不明白,请社区帮助大家理解。欢迎您编辑我的问题。

最佳答案

已编辑:尝试回答更新后的问题假设 JavaScript 是从 index.html 文件中调用的,如果你插入一个 img 标签并使用相对 url,它们将相对于索引文件的路径。所以<img src='application/resources/img1.jpg'>会工作得很好。如果脚本应该适用于多个子级别(例如,如果页面“application/etc/etc2/somePage.html”需要来自“application/resources/”的图像)使用绝对 url 可能更容易,并且您可以包含一个 javascript block 在由 php 生成的每个包含应用程序“根”的绝对 url 的页面上,例如:

<!-- included by php in all html pages, e.g. in defautlHeadter.php -->
<script type="text/javascript">
var rootUrl = "<?= getTheRootUrl() ?>";
</script>

在哪里getTheRootUrl()是一个方法或服务器变量,它提供您需要的根 URL。如果 url 被翻译/重新映射(由 apache 等在 php 可见的范围之外),您可能需要在 php 方法中对根 url 进行硬编码,但至少如果您更改根目录,它只会更改一个文件.

然后您可以使用根 url 来指定应用程序/网站中任何位置的绝对路径,使用 rootUrl + "/some/relative/path"在应用程序的任何位置。

关于javascript - 为 Javascript 重写根目录路径 "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6422450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com