0

Google Chrome 拡張機能の popup.html ウィンドウで、Firebase が提供する Chat の例を使用しました。ポップアップはうまく機能し、入力フィールドに入力できますが、サーバーに投稿されません。入力方法にEnterを使うのが問題かなと思い、htmlボタンに切り替えたのですが、それもうまくいきません...

また、セキュリティ ポリシーを manifest.json に必ず貼り付けました。

"content_security_policy": "script-src 'self' https://cdn.firebase.com >https://*.firebaseio.com; object-src 'self'",

私のポップアップのコードは、「messageDiv」のサイズを変更し、独自のfirebase URLに貼り付けたことを除いて、Firebaseで提供された例とまったく同じです。

なぜこれがうまくいかないのかわからないので、少し助けてください!もっと具体的に言う必要がある場合はお知らせください。

popup.html

<html>

<head>
  <script type='text/javascript'  src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js'></script>
  <script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-auth-  client.js'></script>
  <script src="popup.js"></script>
  <link rel="stylesheet" type="text/css" href="https://www.firebase.com/css/example.css">
</head>
<body>
<div id='messagesDiv' style='width:450px'></div>
<input type='text' id='nameInput' placeholder='Name'>
<input type='text' id='messageInput' placeholder='Message...'>
  </body>
</html>

popup.js

        var messagesRef = new Firebase('https://gluedtogether.firebaseio.com/');

  $('#messageInput').keypress(function (e) {
    if (e.keyCode == 13) {
      var name = $('#nameInput').val();
      var text = $('#messageInput').val();
      messagesRef.push({name:name, text:text});
      $('#messageInput').val('');
    }
  });


  messagesRef.limit(10).on('child_added', function (snapshot) {
    var message = snapshot.val();
    $('<div/>').text(message.text).prepend($('<em/>')
      .text(message.name+': ')).appendTo($('#messagesDiv'));
    $('#messagesDiv')[0].scrollTop = $('#messagesDiv')[0].scrollHeight;
  });
4

0 に答える 0