1

クロームエクステンションを作りました。とてもシンプルです。たくさんの褒め言葉があり、誰かが拡張機能をクリックして印刷すると、ランダムに 1 つ抜き出します。また、chromes tts (テキスト読み上げ) を使用して、褒め言葉を大声で言います。それは非常に単純ですが....

誰かがクロム拡張機能をクリックすることなく、ランダムに褒め言葉を与えてほしい. これは可能ですか?私はいくつかの研究を行いましたが、成功しませんでした。私のコードは次のとおりです。

popup.js:

$(document).ready(function() {
  var compliments = ['You are awesome.', 'Looking good.'];

  var randomCompliment = Math.floor(Math.random()*compliments.length);

  $('#compliment').append('<li>' + compliments[randomCompliment] + '</li>');

  chrome.tts.speak(compliments[randomCompliment])
});

マニフェスト.json:

{
  "manifest_version": 2,

  "name": "Complimentor",
  "description": "This extension gives you a compliment.",
  "version": "1.0",

  "browser_action": {
  "default_icon": {
    "19": "icon_19.png",
    "38": "icon_38.png"
  },
    "default_title": "Complimentor",
    "default_popup": "popup.html"
  },
   "permissions": ["tts"]
}

popup.html:

<!doctype html>
<html>
<head>
  <script src="jquery.js"></script>
  <script src="popup.js"></script>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="popup">
    <div id="highlight"></div>
    <ul id="compliment"></ul>
  </div>
</body>
</html>

スタイル.css:

body { 
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.1))); /* Chrome,Safari4+ */
}

.popup {
  width: 300px;
  font: 14px helvetica-neue, helvetica, sans-serif;
  color: #666;
  position: relative;
  text-align: center;
}

#hightlight {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%, rgba(255,255,255,0))); /* Chrome,Safari4+ */
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.popup ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.popup li { 
  padding: 3px 0;
}
4

1 に答える 1

3

現在のところ、Chrome 拡張機能のポップアップをプログラムで開く方法はありません。ただし、デスクトップ通知を使用して通知を表示することはできます。ベータ版の Chrome には豊富な通知があります。バックグラウンド スクリプトを使用してランダムにタイムアウトを設定し、タイムアウトになったときに通知を作成してサウンドを再生することができます。

参照リンク:

Chrome デスクトップ通知

リッチ通知

背景ページ

于 2013-06-30T22:51:58.403 に答える