首页 > 解决方案 > 如何仅在特定浏览器中加载脚本?

问题描述

我想做的事:我想在除 Safari (Mobile/MacOS) 之外的每个浏览器中加载加载 Twemoji 。我尝试在 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);
});}

标签: javascripthtmljquerybrowsertwemoji

解决方案


这是您如何知道用户是否没有使用 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');
}

我从这个 stackoverflow 问题答案中获取了代码如何检测 Safari、Chrome、IE、Firefox 和 Opera 浏览器?. 请喜欢这个答案)


推荐阅读