【发布时间】:2013-05-15 12:14:02
【问题描述】:
JQuery 是否有可能在加载到浏览器之前修改 CSS 或 Javascript 资源中的 URL。或者至少在浏览器中加载时?
URL 通常指向资源,如图像、字体等。
基本上我正在考虑这个想法,因为我通常做大型单页网络应用程序/网站,在开发资源root 路径是相对的,但在生产中根路径指向其他一些URL。
有什么办法可以解决这类问题吗?我想有一个 javascript 来检查:
(伪代码)
var isDevMode = true;
if (isDevMode) {
root_path = "/";
} else {
root_path = "http://somewhere.com/"
}
所以我只是设置了它,我非常大而复杂的 HTML 文件中的所有路径,包括页面中的 CSS,都获得了正确的根路径。
【问题讨论】:
-
如果我没记错的话,可以将css加载到js的var中,那么你可以使用
.replace()。然后append it to head like this -
也许你也可以尝试使用类似
background:url('./images/body_bg.png');的路径重写它 -
服务器端有什么?在 asp.net 中可以覆盖 Render 方法和正则表达式并替换链接,但它有点难看。
-
@user1778606 我做的 SPA 没有服务器端,至少它是紧密集成的。我们的设计只是从外部存储服务中调用资源
标签: javascript jquery css