html5デスクトップ通知のチュートリアルに続いてhttp://www.beakkon.com/tutorial/html5/desktop-notificationが続きました。そのページのデモは私の仕事です。私はコード全体をコピーする場合、それは動作しますが、...私はjavascriptからメソッドを呼び出すとき、通知またはパーミッションの要求を表示しません。代わりに、それはSECURITY_ERR: DOM Exception 18
を発生させます。webkitNotifications - SECURITY_ERR:DOM例外18 - スクリプト、OK - ボタン
通知自体を作成する行によってエラーが発生しているようです。
なぜボタンが動作し、関数を直接呼び出すのが誰に接着していませんか?
私の現在のコード:
function RequestPermission(callback)
{
window.webkitNotifications.requestPermission(callback);
}
function notif() {
if (window.webkitNotifications.checkPermission() > 0) {
RequestPermission(notif);
}
notification = window.webkitNotifications.createHTMLNotification('http://localhost:3000/images/rails.png');
notification.show();
}
は計算しません:
notif();
が計算:
<button onclick="notif()">NOTIFY</button>
Google Chromeの:9.0.597.84(Oficiálnísestavení72991)
のWebKit:534.13
ありがとうございます。しかし、なぜnotif()のスクリプト内呼び出しがrequestPermisionを起動しないのか、私にとってはまだ謎です。今、ページをロードするときに何もしません(エラーを投げるなど)、ボタンをクリックしてパーミッションを与え、ページをリロードして通知が来ます。 ありがとうございました – Mailo
(条件を修正した後で)あなたのコードがうまくいくはずです。ユーザーが通知許可を許可すると、自動的にポップアップが表示されます(更新する必要はありません)。 –
はい、でも、javascriptからnotif()を呼び出すと、onclick = "notif()"のクリックボタンの前に何もしないでください。 – Mailo