Разбор json и показ изображения в попопе - PullRequest
0 голосов
/ 05 февраля 2012

Я пытаюсь написать расширение xkcd для chrome в javascript. Чтобы получить URL-адрес последнего изображения, я извлекаю JSON из http://dynamic.xkcd.com/api-0/jsonp/comic/ и пытаюсь его проанализировать. Очевидно, это не совсем работает.

Ни json не анализируется правильно, ни изображение из жестко закодированного URL-адреса показывается во всплывающем окне. Как я могу решить эти проблемы?

Итак, мои вопросы:

  1. Как мне получить URL-адрес изображения из json?

  2. Как вставить изображение во всплывающее окно?

Вот мой код: (Я следовал учебному пособию, поэтому осталось еще несколько фрагментов мерцания ...)

Манифест.json:

{
"name": "xkcd extension",
"version": "1.0",
"description": "The first xkcd extension that I made.",
"browser_action": {
    "default_icon": "icon.png",
    "popup": "popup.html"
},
"permissions": [
"http://www.xkcd.com/"
]
}

the popup.html:

<!doctype 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:300px;
            height:300px;
        }
    </style>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
    </script>
    <script>
        showPhotos();

        function showPhotos() {
            //                var url="http://xkcd.com/info.0.json";
            var url = "http://dynamic.xkcd.com/api-0/jsonp/comic/";
            alert(url);
            //                var imgURL;
            //                $.getJSON(url, function(data) {
            //                    alert(data.img);
            //                    imgURL=data.img;
            //                });
            //alert(imgURL);

            var img = document.createElement("image");
            alert(img);
            img.src = 'http://imgs.xkcd.com/comics/wrong_superhero.png';
            alert(img.src);
            document.body.appendChild(img);
        }

    </script>
</head>
<body>
    <div id="result">
    </div>
</body>
</html>

1 Ответ

2 голосов
/ 05 февраля 2012

var img = document.createElement("image");

определенно должно быть

var img = document.createElement("img");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...