浅谈网页中各种链接引用方法


在网页中的引用(比如引用css,js,img等对象),总的来说可以分为以下几种方式

  view sourceprint?<%--第一种方法--%>

  <link href="/site.css" rel="stylesheet" type="text/css" />

  <%--第二种方法--%>

  <link href="site.css" rel="stylesheet" type="text/css" />

  <%--第三种方法--%>

  <link href="../site.css" rel="stylesheet" type="text/css" />

  <%--第四种方法--%>

  <link href="<%=ResolveUrl("~/site.css")%>" rel="stylesheet" type="text/css" />

  下面,我在分析一下这四种方法的优缺点

  方法一:    /url

  用法:

  这个是从域名顶部开始查找文件

  如果你的页面是:http://dozer.cnblogs.com/article/1.aspx

  引用的css文件时:/css/site.css

  最后的css路径就是:http://dozer.cnblogs.com/css/site.css

  也就是说,它会忽略 http://dozer.cnblogs.com 后面的所有东西,然后加上自身

  局限性:

  如果你的网站是一个子网站,比如在IIS下的一个网站中建立应用程序(而不是直接建立一个网站)

  那么你网站的根目录就会是:http://www.test.com/website

  问题来了,因为引用都是根据url来判断的,它根本无法区别你网站的根目录是什么,所以解析出来的地址也会错误,会把"website"都忽略掉

  方法二:  url

  用法:

  这个是相对的路径

  如果你的页面是:http://dozer.cnblogs.com/article/1.aspx

  引用的css文件时:css/site.css

  最后的css路径就是:http://dozer.cnblogs.com/article/css/site.css

  也就是说,它会去除最后一个"/"后的东西,然后加生自身

  局限性:

  这个的局限性有2个:

  第一:如果你在masterpage中做了一个引用,但是内容页却在不同的文件夹,最后的引用是根据内容页来判断的,所以就出错了。

  第二:如果你用了UrlRewrite,那url和实际文件系统是不同的,那很明显也会出错。

  方法三:     ../url

  用法:

  其实这个和方法二一样,../ 是返回上一级的意思

  如果你的页面是:http://dozer.cnblogs.com/article/1.aspx

  引用的css文件时:../css/site.css

  最后的css路径就是:http://dozer.cnblogs.com/css/site.css

  局限性:

  局限性和方法二一样

  另外,IIS默认不允许用 ../ 来返回父级,所以要配置一下

  方法四:     <%=ResolveUrl("~/site.css")%>

  用法:

  这个用法和方法一差不多,但是有个好处,就是可以避免方法一的局限性

  因为这个是靠服务器解析出来的,而不是在客户端执行的,所以能识别子网站

  如果你的页面是:http://www.cnblogs.com/dozer/article/1.aspx

  引用的css文件时:<%=ResolveUrl("~/site.css")%>

  最后的css路径就是:http://www.cnblogs.com/dozer/site.css

  局限性:

  这个方法是万能的,但是也不是完美的

  因为要靠服务器解析,所以当然不能所见即所得啦,还有就是要多打那么多字,很麻烦



相关阅读:
Tuning工具Statspack的几个使用误区
教你迅速手动定制Windows XP系统的启动画面
破除一些网站复制、右键限制
如何在MySQL数据库中定义外键
浅析Oracle用户权限分配的具体方法
javascript图片自动缩放和垂直居中处理函数
javascript 获取特定的 CSS属性值
磁盘管理--umount
让插入到 innerHTML 中的 script 跑起来的代码
SQL Server复制技术
Exchange环境中的 IIS 锁定和 URLscan 配置(1)
SQLServer中的切割字符串SplitString函数
innerHTML 和 getElementsByName 在IE下面的bug 的解决
PHP sprintf()函数用例解析
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 忆圣诞 中学校2012-2013学年度上学期工作计划 懂事的小豆豆 《装饰的云》 小燕子作文330字 又一年教师节 塞万提斯:悲喜人生胜过唐吉坷德 3.25冰点问候 梦幻(一) 失败了再爬起来 优美的句子 游红山动物园作文800字 写一篇完整活动总结的基本要素 赵传禹的实习总结 小学三年级作文300字:我们的母亲——地球 微笑一句话经典语录 伤感的情绪签名 14年妇女节祝福语短信 谦虚的小猫 成功人士的周末 斗百花(汶妓褚延娘) 服装批发商城盛大开业庆典方案 那夏 烟台残疾母亲十几年如一日,为女儿写成长日记30本 小金鱼 有时候……作文900字 生气的时候,我们看起来像什么 世界闻名17部励志电影推荐 善良勤劳的母亲 等你,在千世的轮回里 韶山400字 离别,刺痛的何止是心底的痛 营救小燕子 毕业班优生会议发言稿 人的一生,都有一些说不出的秘密,挽不回的遗憾,触不到的梦想 我的幸与不幸 农村怪态 童年寒假的夜晚作文300字 公司客户除夕祝福语 钩在饵内,只用眼睛看是远远不够的 诣西山深师 亲爱的。。 你能看到的。。 对不? 不写忧伤,不道惆怅 她不是嫌你穷,她是看不上你猥琐 小学四年级作文500字:度假村一日游 学期评语 两个人的城,一个人的情 8.1后 2011年市乡镇卫生院改革实施方案 参加县级电网调度员培训班学习总结

Copyright © 2016 phpStudy |