我在下面找到了代码。
它工作得很好。但我发现它不适用于移动设备。
我知道document.getElementsByTagName("head")[0].appendChild
此代码存在问题...移动浏览器不允许使用该代码。
通常人们会使用document.head
。
所以我将代码document.getElementsByTagName("head")[0].appendChild
更改为document.head.appendChild
。但它仍然无法在移动设备上运行。
我该怎么办?
function detectIE() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
var trident = ua.indexOf('Trident/');
if (msie > 0) {
// IE 10 or older => return version number
alert("ie10 or older");
var ss = document.createElement("link");
ss.type = "text/css";
ss.rel = "stylesheet";
ss.href = "css/ie9font.css";
document.getElementsByTagName("head")[0].appendChild(ss);
return false;
}
if (trident > 0) {
// IE 11 (or newer) => return version number
var rv = ua.indexOf('rv:');
alert("ie11");
var ss = document.createElement("link");
ss.type = "text/css";
ss.rel = "stylesheet";
ss.href = "css/ie9font.css";
document.getElementsByTagName("head")[0].appendChild(ss);
return false;
}
// other browser
var rv = ua.indexOf('rv:');
alert("other");
var ss = document.createElement("link");
ss.type = "text/css";
ss.rel = "stylesheet";
ss.href = "css/font.css";
document.getElementsByTagName("head")[0].appendChild(ss);
return false;
}
detectIE();
效果很好。但我发现它不适用于移动设备。
我知道document.getElementsByTagName("head")[0].appendChild
此代码存在问题...移动浏览器不允许使用该代码。
通常人们会使用' document.head'。
所以我将代码document.getElementsByTagName("head")[0].appendChild
更改为document.head'.appendChild
。但它仍然无法在移动设备上运行。
我该怎么办?
答案 0 :(得分:0)
我用过:
var head = document.head || document.documentElement.childNodes[0];
......它在我的案例中有用(移动)。当然假设 head 元素直接跟在 html 元素之后。