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

标签 javascript directory

我们可以修改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/

相关文章:

javascript - 如何隐藏指针事件但仍然能够启动拖动事件?

javascript - Highcharts、Rails - 设置图表起点的方法?

javascript - 添加双击以 Draggable/droppable::javascript

javascript - 导出 Highcharts 时无法根据需要禁用图例标题/启用图例标题

c - 使用c中的文件路径打开文件

javascript - React-native pubnub WebRTC 视频聊天

C#:从目录中获取 5 个最新(最后修改)的文件

计算目录大小的Java程序不断抛出NPE

php - scandir 中的目录点是否始终是数组的第一个元素?

php - 搜索并替换目录中的文件