比如资源服务器:
http://static.cnblogs.com/left.jpg
http://static.cnblogs.com/slider.js
slider.js内容有:
$("#leftDiv").Append("<img src='left.jpg'>");这里是相对路径
Web服务器http://www.cnblogs.com
index.aspx内容有:
<script src="<%= GetAbsolutePath("slider.js")%>">
将生成<script src="http://static.cnblogs.com/slider.js">的html
但是slider.js引用了相对路径的图片left.jpg,会去找http://www.cnblogs.com/left.jpg,当然就没有这张图片了,
有没有办法把slider.js里的路径通过动态生成绝对路径?
对元素的细操作一般都不放在那里的。也不会出现这种情况。
在fck中有一个basepath, 在js中会自己拼一个路径的。
做一个配置参数
在 html 里面定义 <script>var _path='你的配置路径'</script>
JS里面 调用图片的时候 就用 _path + “XX.gif”
好吧。。看了补充问题 就当我是 打酱油的
答案是没有。手动改吧。
太悲催了。
可以写 $("#leftDiv").Append("<img src='/img/left.jpg'>");这种路径方式是基于服务器根目录的
在js中加一个function获取<script src='...'>的路径,楼主使用貌似用的jQuery
$.extend({
getRoot:function(js){
var root;
$('script').each(function () {
var reg= new RegExp('(.*)'+js+'$');
_script = this.src.match(reg);
if (_script !== null) {
root = _script[1];
}
return root;
});
}
});
$.getRoot("slider.js");
好方法
除了拼,无解。。。
public string GetApplicationPath()
{
return System.Web.HttpContext.Current.Request.ApplicationPath.TrimEnd(new char[]{'/'});
}
GetApplicationPath() + "/js/jquery-1.4.2.min.js");//这个生成的地址,不知道是不是你要的。