4

私はGoogle Chrome Extensions Developer's guideに従っており、これまでのところ、HTML 形式で webkit 通知をトリガーするポップアップなしのブラウザー アクションを備えた拡張機能を作成できました。

実際には、この HTML ファイルにはアクション ボタン、リンク、JavaScript が含まれていますが、どれも応答していないようです。

これは設計上の動作ですか、それともこれらの Webkit 通知に javascript/links/buttons を埋め込む方法はありますか?

編集:

このテーマに関するいくつかの新しい洞察を次に示します。

Javascript

動作しない HTML 通知ページは次のとおりです。

<html>
<head>
<script>
  alert("hey");
</script>
</head>
<body>
  content
</body>
</html>

その結果、通知はすべて空白になります。「コンテンツ」というテキストは表示されません。

しかし、「アラート」を削除すると、「コンテンツ」というテキストが表示されます。

最初は、Javascript がページの正しくレンダリングをブロックしていると思っていましたが、別のことを試しました。

<script>document.write("content");</script>

この JavaScript コマンドは正しく実行され、テキスト"content"が表示されます。次に、Webkit デスクトップ通知でも Javascript が有効になっていると想定できますが、「アラート」機能は無効になっており、通知ページのレンダリングが中断されます。

リンク

一部のリンクは機能しますが、一部は機能しません。これまでにテストしたものの簡単なリストを次に示します。

<a href="http://www.google.com/">Link</a>                   # => Doesn't work
<a href="http://www.google.com/" target="_top">Link</a>     # => Doesn't work
<a href="http://www.google.com/" target="_parent">Link</a>  # => Doesn't work
<a href="http://www.google.com/" target="_blank">Link</a>   # => Works (new tab)
4

2 に答える 2

2

これはすべて、Chromium Desktop Notifications API仕様で説明されており、次のように明確に述べられています。

ユーザーエージェントがcreateHTMLNotificationを実装する場合、次のプロパティを除いて、他のHTMLWebページと機能的に同等の独立したブラウジングコンテキストとしてHTML通知を表示する必要があります。

  • 通知をナビゲートできません。通知コンテキストのウィンドウオブジェクトのLocation属性は、読み取り専用である必要があります。すべてのリンクは、通知のない新しいブラウジングコンテキストで開く必要があります。
  • ユーザージェスチャに応答して通知コンテキストのウィンドウオブジェクトでclose()が呼び出された場合、ユーザーエージェントは、必要なすべてのイベント処理を含め、ユーザーが通知を閉じたかのように続行する必要があります。
于 2010-05-23T07:58:36.400 に答える
2

更新:ドラフト仕様と Chrome から削除されたcreateHTMLNotification()ため、これは機能しなくなります。

最も近いのは、onclick通知ウィンドウ全体のハンドラーです。見つけにくく (リンクのようには見えません)、そこからリンクに移動できるかどうかはテストしていません。

于 2012-11-13T12:29:30.583 に答える