java、css中引入外部资源相对路径问题分析

人生多有福,想开就知足。思量愚昧苦,聪明就是福。思量饥寒苦,饱暖就是福。思量劳累苦,清闲就是福。福禄用心苦,心正得大福。

在jsp页面中添加base,可用相对路径:


<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

然后在<head>标签内添加base

<base rel="nofollow noopener noreferrer" href="<%=basePath%>"></base>

 在本页面中“直接”引入外部文件时,可直接


<script src="js/common/jquery-1.11.1.min.js" language="javascript"
type="text/javascript"></script>
<script src="js/common/frame.js" language="javascript"
type="text/javascript"></script>
<link rel="nofollow noopener noreferrer" href="css/common/frame.css"
rel="stylesheet" type="text/css" />
<link rel="shortcut icon" rel="nofollow noopener noreferrer" href="images/favicon.ico" type="image/x-icon" />

同理,本页面中的css类


.top {
position: absolute;
left: 0;
top: 95px;
right: 0;
height: 120px;
background: url(images/common/title.jpg) repeat-x
}

====================例外情况:引入的外部css、js文件又引入image等时=================================

这时候如果也用相对路径的话,因为已经不在了jsp页面中,此时相对路径是相对于本css文件所在的目录:

如:棠棣新系统,index.jsp页面中引入的css文件

<link rel="nofollow noopener noreferrer" href="css/common/frame.css" rel="stylesheet" type="text/css" />这时在jsp页面中,引入的js/common/frame.js是从网站跟目录开始寻找,没问题。

但在frame.js中有如下css


.show_menu{
background-image: url(images/left_bg.gif);
background-repeat: repeat-y;
background-position:285px 51px;
}

这种情况下直接url(images/left_bg.gif);是默认从本css文件所在目录(/css/common/frame.css)+url(images/left_bg.gif),所以此处需要的image需要单独配置,

改成


.show_menu{
background-image: url(../../images/left_bg.gif);
background-repeat: repeat-y;
background-position:285px 51px;
}

以上就是javascriptp、css中引入外部资源相对路径问题分析。善待他人,即是最好的善待自己。更多关于javascriptp、css中引入外部资源相对路径问题分析请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
Java 实例 - 字符串反转

Java实例--字符串替换

Java实例--删除字符串中最后一个字符

Java实例--查找字符串最后一次出现的位置

Java实例--字符串比较