• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html/xhtml > HTML中的base标签使用详解

HTML中的base标签使用详解

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-05

本文主要包含html,base标签等相关知识,佚名 希望在学习及工作中可以帮助到您

在requireJS中,有一个属性叫baseURL,通过设置baseURL,我们可以将需要加载的文件路径写成相对于项目的,而不是相对于当前页面的。

例如:假设我们的项目目录是/myproject/,里面有两个页面,一个是/myproject/one.html,另一个是/myproject/html/other.html,他们都要加载/myproject/js/some.js。如果我们将baseURL设置成/myproject/,则我们在加载该js的时候,这两个页面都可以使用相对于项目的路径./js/some,而不是因为页面的路径不同而使用不同的相对路径。

但是如果不使用requireJS,我们能不能实现类似于baseURL的功能呢?

base标签
其实,HTML中有一个base标签,可以产生类似的功能。举个例子:

base标签可以给页面的链接加上默认的路径,或者默认的打开方式。

下面是一个设置默认打开方式的例子:

</head></p> <p><body>
<a href="http://www.cnblogs.com">这个页面会在新窗口打开</a>
<a href="http://justany.cnblogs.com">这个页面也会在新窗口打开</a>
</body>
</html>

一个BUG
base标签最好不要动态写入,否则在Firefox和IE中会有一个小bug,比如对于页面http://localhost/static/test.html:

</head></p> <p><body>
<img src="static/1.jpg" />
</body>
</html>

Firefox和IE中会先加载http://localhost/static/static/1.jpg,然后再加载http://localhost/static/1.jpg。也就是说,他们都先尝试用相对于当前页面的路径进行加载,然后再通过base标签设置的默认路径加载。

Chrome的加载正常。

Firefox的加载不正常。

 

Why?

这个我们并没有找到很好的解释,我们的分析是浏览器对资源加载进行了优化,导致动态插入base标签并未生效时,就预先去加载了,结果出错,然后base标签生效于是又加载正确的资源。

 

如何避免呢?不动态写入base标签那么就没有任何问题。如果需要动态写入base标签,那么页面所有引用的外部资源都需要通过Javascript动态加载。

您可能想查找下面的文章:

  • HTML表单提交的几种方式_动力节点Java学院整理
  • HTML表单_动力节点Java学院整理
  • HTML大于号、小于号、空格、引号等常用的转义代码写法一览表
  • HTML中实现鼠标经停时整行(tr)变色
  • html格式化json的实例代码
  • html在消息按钮上增加数量角标的实现代码
  • html页面跳转传递参数问题
  • html、css和js注释规范用法小结
  • Html 实现动态显示颜色块的报表效果(实例代码)
  • html是什么文件 html文件如何打开

相关文章

  • 2017-08-05meta标签详解(meta标签的作用)
  • 2017-08-05disabled与readonly的作用及区别介绍
  • 2017-08-05html 中 #include file 的用法示例介绍
  • 2017-08-05a 中调用js的几种方法整理及使用推荐
  • 2017-05-27Html 实现动态显示颜色块的报表效果(实例代码)
  • 2017-08-05div宽度设置width:100%后再设置padding或margin超出父元素的解决办法
  • 2017-08-05各种MOUSE鼠标形状的表示方法
  • 2017-08-05HTML&CSS&JS兼容树(IE,Firefox,chrome)
  • 2017-08-05HTML仿命令行界面具体实现
  • 2017-08-05HTML中table表格标签的基础学习教程

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • htm初学笔记(新手必看)
    • html中frameset标签无法正常显示原因分析及解决
    • HTML标签语义化,让网页更好地被搜索引擎理解
    • html制作细线表格的简单实例
    • input中id和name属性的区别示例介绍
    • HTML列表标签dl、ul、ol 的使用示例
    • 浅谈html中input只读属性readonly和disable的区别
    • html中使用margin:0 auto整个页面不居中的解决方法
    • html title里面加双引号的实现方法
    • 定义input type=file 样式的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有