2011-08-15 26 views
0

私はChrome用の拡張機能を作成しています。その機能の1つに、エンドユーザーが人を連絡先として追加する機能があります。通知内から通知を作成する

現在のところ、連絡先はAJAX経由でデータベースに保存されます。その後、デスクトップ通知が表示され、その旨がユーザーに通知されます。

しかし、私は最初に彼がそれをしたいと確信しているかどうか聞いてみたいと思います。だから私は、通知内から新しい通知を作成したいという狂った考えを持っています。

最初に、確認HTML通知がbackground.htmlから作成され、表示されます。それはボタンを含み、それをクリックするとAJAX関数が実行され、フィードバックを含む2番目の通知が作成されます。

しかし、私はこれを行うことができないようです。私は通知からcreateNotification()を実行することはできませんsendRequest()はどちらも通過していないようで、私は "はい"ボタンをクリックすることを区別したいので、background.htmlからonCloseリスナーを使用することはできません「いいえ」ボタンをクリックします。

私はこれを行う方法はありますか?そうでない場合は、代わりに確認ダイアログをどのように実装する必要がありますか?

+0

HTMLのすべてを同じ通知に書き込んで、ユーザーの選択に基づいて更新(非表示/表示)しようとしましたか? –

答えて

1

chrome.extension.getBackgroundPage()を試しましたか?これにより、必要なバックグラウンドページのAPIにアクセスできるようになります。たとえば、最初の通知ページでは、の場合はをクリックします。

function yesClicked() { 
    chrome.extension.getBackgroundPage().showSecondNotification(); 
} 

次のように背景ページはshowSecondNotificationメソッドを宣言します。

function showSecondNotification() { 
    webkitNotifications.createHTMLNotification(
     chrome.extension.getURL('notification2.html') 
    ).show(); 
} 

これにより、2番目の通知が表示されることを望みます。私は前の拡張で同様のメソッドを使用しましたが、バックグラウンドページから情報を取得するためだけでした。しかし、私はこれがうまくいかない理由はないと思う。

+0

私は以前getBackgroundPage()を使ってみましたが、動作しませんでした。しかし、あなたのコードをコピペすることは驚異的でした。ありがとうございました! 通知内のスクリプトをデバッグする方法はありますか?もし存在すれば、私は確かにそれを見つけられなかったからです。 –

+0

私はそれが助けてうれしいです。残念ながら、私はそれらをデバッグする方法は考えられません。ただし、通知内でJavaScriptを使用すると、開いていることを知りたい場合にすぐに閉じることができます。 – Alasdair

関連する問題