0

perkytweets拡張機能のポップアップにハッシュタグ付きのツイートを表示する chrome 拡張機能を作成しようとしていますが、何も表示されません。

これがmanifest.jsonコードです

    {
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

これがpopup.htmlコードです

<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <style>
      body {
        min-width:357px;
        overflow-x:hidden;
      }

      img {
        margin:5px;
        border:2px solid black;
        vertical-align:middle;
        width:75px;
        height:75px;
      }
    </style>


    <script src="script.js"></script>
  </head>
  <body>
  </body>
</html>

これがscript.jsコードです

var req = new XMLHttpRequest();
req.open(
    "GET",
    "http://search.twitter.com/search.atom?q=perkytweets",
    true);
req.onload = showTweets;
req.send(null);


function showTweets()
{
    document.body.appendChild(req.responseXML);
}
4

1 に答える 1

1

ドキュメントがロードされた場合にのみ、リクエストを起動する必要があります。コードをonloadハンドラーにラップしてみてください

function showTweets() {
    document.body.appendChild(req.responseXML);
}

var req;
window.onload = function() {
    req = new XMLHttpRequest();
    req.open("GET", "http://search.twitter.com/search.atom?q=perkytweets", true);
    req.onload = showTweets;
    req.send(null);
}

アップデート

Twitter URL へのアクセスを許可する必要があります。これをマニフェストに追加します。

"permissions": [ "http://search.twitter.com/*" ]

したがって、次のmanifest.jsonようになります。

{
    "name": "My First Extension",
    "version": "1.0",
    "manifest_version": 2,
    "description": "The first extension that I made.",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "http://search.twitter.com/*"
    ]
}

アップデート

req.responseXMLはまだ要素ではないため、本体に直接追加することはできませんconsole.log。結果はそこから移動します。

于 2013-01-03T13:00:50.043 に答える