Sta*_*arx 5 javascript directory
我们可以使用修改PHP的文档根目录路径
$_SERVER['DOCUMENT_ROOT'] = "to/some/new/directory";
//Now the "/" which represent the ^(above) path
Run Code Online (Sandbox Code Playgroud)
在.htaccess我们有
RewriteBase "/to/some/new/directory"
Run Code Online (Sandbox Code Playgroud)
现在,我需要修改在javascript中使用的根目录路径.怎么做?
目前,我正在声明一个变量,其中包含我的个性化根目录的静态路径并将其用作
var root = "../to/new/path";
document.location = root+"/somepage.php";
Run Code Online (Sandbox Code Playgroud)
我想我应该对这个场景说一点,让你们抓住我的想法
默认Web根目录
http_docs/
Run Code Online (Sandbox Code Playgroud)
里面包含一个主文件夹
http_docs/application <-- contains the actual application
http_docs/js <-- contains the script
http_docs/index.html
Run Code Online (Sandbox Code Playgroud)
现在,该应用程序还包含用于更新,编辑,加载新内容或其他资源的ajax功能,如果在"/"处访问将表示在/ some/path/i /被叫/ not/application/some/path/i /被调用,
为了解决这个问题,我可以定义一个静态变量
var root = "application/";
Run Code Online (Sandbox Code Playgroud)
并在某处使用它
$.post(....., function(data) { $(body).append("<img src='"+root+"resources/img1.jpg"); });
Run Code Online (Sandbox Code Playgroud)
但是对于一次性使用,将路径定义为静态可能不是什么大问题,但是,当应用程序增长时,某些修改会导致我改变我在js部分中给出的所有路径.我想,这是明智的,就像我在PHP中使用它一样<img src="/resources/img1.jpg" />
我尽力解释这个问题,如果仍然不可理解,请社区,让他们帮助他们理解.我欢迎你编辑我的问题.
编辑:尝试回答更新的问题
假设从index.html文件中调用JavaScript,如果插入img标记并使用相对URL,它们将相对于索引文件的路径.所以<img src='application/resources/img1.jpg'>工作得很好.如果脚本应该适用于几个子级别(例如,如果页面"application/etc/etc2/somePage.html"需要来自"application/resources /"的图像),则可能更容易使用绝对URL,并且您可以包含一个javascript块在php生成的每个页面上,它保存应用程序"root"的绝对URL,如:
<!-- included by php in all html pages, e.g. in defautlHeadter.php -->
<script type="text/javascript">
var rootUrl = "<?= getTheRootUrl() ?>";
</script>
Run Code Online (Sandbox Code Playgroud)
getTheRootUrl()方法或服务器变量在哪里提供您需要的根URL.如果url被翻译/重新映射(通过apache等在php可见的范围之外),你可能需要在php方法中对根URL进行硬编码,但至少如果你改变了根目录,它只会改变一个文件.
然后,您可以使用根URL在应用程序/网站rootUrl + "/some/relative/path"中的任何位置指定应用程序中任何位置的绝对路径.
| 归档时间: |
|
| 查看次数: |
8264 次 |
| 最近记录: |