htmlbase的在IE9下无效的问题解决办法-创新互联

<base> 标签为页面上的所有链接规定默认地址或默认目标。
在页面的head标签内 写上<base href="/org/user/"/> 后,
当前页面中 <a>、<img>、<link>、<form> 标签相对与加上了base的href
例如:
在发送网络请求时,

创新互联主要从事网站建设、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务庆元,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
<img src="small/icon.jpg">

就变成了

  <img src="/org/user/small/icon.jpg">

在IE11、Chorme、Firefox下都好好的,到了IE9中,就不行了,哇~~~,然后在网上找了一些资料后,发现
原来在IE9中,base的href必须写为绝对路径,才会有效,如:

<base href="https://blog.51cto/com/org/user/"/>

所以我在页面中,我使用js动态的给base的href赋值。本来打算这样写

var b = document.getElementsByTagName('base')[0];
b.href = location.protocol+"//"+location.host+b.href;

但是发现通过js拿到的href属性值就已经是绝对路径了

b.href  = "https://blog.51cto/com/org/user/"

所以,我就这样写了,加个IE才能识别的标签,等于在 ≤ IE9 版本的IE浏览器上执行这段js

var b = document.getElementsByTagName('base')[0];
if(b) b.href=b.href;


下面是我这边完整的页面头部代码

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
    <meta charset="UTF-8">
    <title>51CTO</title>
    <base href="/org/user/">
<!--[if lte IE 9]>
    <script>!function(){var b = document.getElementsByTagName('base')[0];if(b)b.href=b.href;}()</script>
<![endif]-->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chorme=1">
    <meta name="renderer" content="webkit">
    <link rel="stylesheet" id="hint-css" href="/static/css/hint.min.css">
</head>

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网页标题:htmlbase的在IE9下无效的问题解决办法-创新互联
本文网址:https://www.cdcxhl.com/article16/coojdg.html

成都网站建设公司_创新互联,为您提供外贸建站品牌网站制作网站策划App设计营销型网站建设网站导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设