Safari 推送通知 - Javascript 未正确检查浏览器

Posted

技术标签:

【中文标题】Safari 推送通知 - Javascript 未正确检查浏览器【英文标题】:Safari Push Notifications - Javascript not checking browser correctly 【发布时间】:2013-11-01 11:41:49 【问题描述】:

我正在尝试将 Safari 推送通知集成到我的网站中。我使用了 Apple 的代码并在我的简单测试网站中设置了所有内容。当我在 Mavericks 10.9 上的 Safari 7 上尝试它时,控制台说我没有使用 Safari。

这是怎么回事?

代码:

<script type="text/javascript">

if ('safari' in window && 'pushNotification' in window.safari) 
    var permissionData = window.safari.pushNotification.permission('web.com.example.website');
    checkRemotePermission(permissionData);

else 
    console.log('Push Notifications are available for Safari browser only');

</script>

【问题讨论】:

【参考方案1】:
window.onload = function() 
if(window.navigator.userAgent.indexOf('7.0 Safari') > -1) 
    checkPerms();

else 
    //Handle other browsers!!!

【讨论】:

【参考方案2】:
window.onload = function() 
    //for future versions of safari 
    var ua = window.navigator.userAgent,
    safari = ua.indexOf ( "Safari" ),
    version = ua.substring(0,safari).substring(ua.substring(0,safari).lastIndexOf("/")+1);

    if(safari > 0 && parseInt(version) >=7) 
    checkPerms();
    
    else 
    //Handle other browsers!!!
    
                            

【讨论】:

以上是关于Safari 推送通知 - Javascript 未正确检查浏览器的主要内容,如果未能解决你的问题,请参考以下文章

Safari 推送通知

Safari 推送通知不起作用

不允许 Safari 推送通知

带有 FCM 推送通知的 Safari [重复]

使用 Node.js 创建 Safari 推送通知签名

网站的 OSX 推送通知 - 从未调用过 Safari requestPermission 回调