【问题标题】:Safari Push Notifications - Javascript not checking browser correctlySafari 推送通知 - Javascript 未正确检查浏览器
【发布时间】: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>
【问题讨论】:
标签:
javascript
safari
push-notification
osx-mavericks
【解决方案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!!!
}
} }