我的代码适用于 Firefox、Safari 和 MS Edge,但不适用于 Chrome
Posted
技术标签:
【中文标题】我的代码适用于 Firefox、Safari 和 MS Edge,但不适用于 Chrome【英文标题】:My code works Firefox, Safari and MS Edge but doesn't work in Chrome 【发布时间】:2017-11-30 02:38:40 【问题描述】:。 (我尝试在线我的网站。不起作用。我的网站可能吗?)
HTML
<button onclick = "bildirim()" >Bildirim yolla</button>
JS
function bildirim ()
if (!("Notification" in window))
alert("Your browser does not support Web Notifications API");
else if (Notification.permission === "granted")
var notification = new Notification('Bildirim',
body: '',
icon: '',
);
setTimeout(function()
notification.close();
, 3000);
else if (Notification.permission !== 'denied')
Notification.requestPermission(function (permission)
if (permission === "granted")
var notification = new Notification('',
body: '',
icon: '',
);
setTimeout(function()
notification.close();
, 3000);
);
当我尝试离线时,按钮想要打开权限。当我打开它时,它不接受它并希望我重新打开它。它继续进行。不向我发送通知。
当我上传 html 网站时,按钮没有响应。该网站甚至不征求许可。所以我什至没有收到错误。
Chrome 是最新的。
已解决
Chrome 在没有 SSL 的情况下无法使用此代码。所以不工作 HTTP:// 工作 HTTPS://。
【问题讨论】:
请包含任何错误消息,或至少详细说明“不起作用”。此外,正确格式化您的代码将有助于人们阅读它以找到您的问题。 将您的日志设置为“详细”以查看 Chrome 抱怨的内容。 我添加了错误和我的问题。 【参考方案1】:以下是关于 Chrome 中通知的一些观察:
-
无法从本地文件 (file://) 发出通知。如果你有本地网络服务器,试着把它放在那里看看它是否有效。它对我有用。
当您将它上传到服务器时,如果它在 iframe 中加载并且 iframe 域与主 windows 域不同,那么如果 iframe 的域尚未允许显示通知,则它不起作用。例如:如果您首先检查https://developer.mozilla.org/en-US/docs/Web/API/notification 上的示例,它不起作用。但是,如果您访问 URL https://mdn.mozillademos.org/en-US/docs/Web/API/notification$samples/Example?revision=1326091,它会要求您获得许可,一旦您允许,它就可以在那里和之前的链接一样工作。另一个例子是https://davidwalsh.name/demo/notifications-api.php。在这里它可以工作,因为 iframe 域和顶部窗口域可能是相同的。
我只在 HTTPS 站点上看到过有效通知。我没有在任何 HTTP 站点上看到它(http://localhost 除外)。因此,(HTTPS)也可能是通知工作的要求之一。
很遗憾,我没有找到任何记录/确认这些观察结果的链接。
【讨论】:
我在我的服务器上使用了相同的代码。 mdn.mozillademos.org/en-US/docs/Web/API/notification$samples/… ...我的网站再次无法使用。按钮没有反应。不要问我回应。我认为问题与Http有关。它是否在您的 file:// 或服务中使用此代码? 如上所述,它不适用于 file://,但适用于 localhost。我还没有尝试将其上传到服务器。以上是关于我的代码适用于 Firefox、Safari 和 MS Edge,但不适用于 Chrome的主要内容,如果未能解决你的问题,请参考以下文章
未在使用 Firefox 的选择列表中选择值(适用于 chrome、safari、opera)
CSS 关闭Box元素和定位大纲(适用于Firefox和Safari)
适用于 chrome、firefox 和 safari 浏览器的 Azure 浏览器推送通知
Firefox中忽略的最大高度适用于Chrome和Safari
CSS 过渡:不透明度和可见性过渡不适用于 Firefox(适用于 Chrome / Safari)
SimpleSAMLphp - SSO Azure 适用于 Firefox 和 Safari,但不适用于 Chrome 和 Edge