如何仅在特定浏览器中加载脚本?
How to load a script only in specific Browsers?
我想做的事情:
我要加载加载
Twemoji
在除 Safari (Mobile/MacOS) 之外的所有浏览器中。
我试过用 JS 来做,但没有成功:
function IsSafari() {
var is_safari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent &&
navigator.userAgent.indexOf('CriOS') == -1 &&
navigator.userAgent.indexOf('FxiOS') == -1;
return is_safari;
} if(!IsSafari){console.log("No reliable Emoji-set detected. Loading Twemoji from cdnjs");
$.getScript("https://cdnjs.cloudflare.com/ajax/libs/twemoji/12.0.4/2/twemoji.min.js", function() {
twemoji.parse(document.body);
});}
您可以通过以下方式了解用户是否未使用 Safari 浏览器
if(!(/constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification)))){
console.log('Hey I am sure that you are not using safari browser ;)');
}else{
console.log('Apple user detected');
}
我从这个 Whosebug 问题答案中获取了代码 How to detect Safari, Chrome, IE, Firefox and Opera browser?。请喜欢这个答案)
我想做的事情: 我要加载加载 Twemoji 在除 Safari (Mobile/MacOS) 之外的所有浏览器中。 我试过用 JS 来做,但没有成功:
function IsSafari() {
var is_safari = navigator.vendor && navigator.vendor.indexOf('Apple') > -1 &&
navigator.userAgent &&
navigator.userAgent.indexOf('CriOS') == -1 &&
navigator.userAgent.indexOf('FxiOS') == -1;
return is_safari;
} if(!IsSafari){console.log("No reliable Emoji-set detected. Loading Twemoji from cdnjs");
$.getScript("https://cdnjs.cloudflare.com/ajax/libs/twemoji/12.0.4/2/twemoji.min.js", function() {
twemoji.parse(document.body);
});}
您可以通过以下方式了解用户是否未使用 Safari 浏览器
if(!(/constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification)))){
console.log('Hey I am sure that you are not using safari browser ;)');
}else{
console.log('Apple user detected');
}
我从这个 Whosebug 问题答案中获取了代码 How to detect Safari, Chrome, IE, Firefox and Opera browser?。请喜欢这个答案)