gpt4 book ai didi

javascript - 当文件是比域更深的文件夹时,用JS访问文件

转载 作者:行者123 更新时间:2023-12-03 06:20:21 26 4
gpt4 key购买 nike

我们有一个使用子域的 MVC 站点。不是在传统的 sub.domain.com 中,而是我们使用 domain.com/sub。源文件都存在于每个子域的子文件夹中,因为每个子域可能有一些略有不同的内容。这导致开发团队必须将 JS 直接放入 razor 页面中,以便 razor 代码能够更新如下 URL。

var temp = $('div').load('@Url.Content("~/Images/Excel.png")');

不幸的是,在单独的 JS 文件中使用如下代码会尝试从domain.com 而不是domain.com/sub 加载

var temp = $('div').load('/Content/Templates/warning.html');

这些内容会添加到域中,并且可以随客户端而更改。有没有一种方法可以在像 JS 中那样加载文件时获取域加子,而不需要将代码放入 Razor 中?我更喜欢关注点分离,因为我们有时会加载脚本,而这些脚本甚至因此而未被使用。

最佳答案

在类似情况下,我总是做的是在 main.js 中创建一个函数,或者为共享 js 文件使用任何名称,修改函数中的 URL 并使用该函数作为发起人:

main.js中:

var loadFile = function(selector,path){
$(selector).load('/sub'+path);
}

然后无论何时何地您想要加载文件:

var temp = loadFile('div','/Content/Templates/warning.html');

更新

您可以升级您的 loadFile 函数,让它知道是否需要从网站的根目录加载:

var loadFile = function(selector,path,loadFromRoot){
var root=(loadFromRoot) ? '' : '/sub';
$(selector).load(root+path);
}

关于javascript - 当文件是比域更深的文件夹时,用JS访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896151/

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