溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

html base的在IE9下無效的問題解決辦法

發布時間:2020-08-03 19:31:03 來源:網絡 閱讀:236 作者:beetsuan 欄目:web開發

<base> 標簽為頁面上的所有鏈接規定默認地址或默認目標。
在頁面的head標簽內 寫上<base href="/org/user/"/> 后,
當前頁面中 <a>、<img>、<link>、<form> 標簽相對與加上了base的href
例如:
在發送網絡請求時,

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

就變成了

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

在IE11、Chorme、Firefox下都好好的,到了IE9中,就不行了,哇~~~,然后在網上找了一些資料后,發現
原來在IE9中,base的href必須寫為絕對路徑,才會有效,如:

<base />

所以我在頁面中,我使用js動態的給base的href賦值。本來打算這樣寫

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

但是發現通過js拿到的href屬性值就已經是絕對路徑了

b.

所以,我就這樣寫了,加個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>
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女