Я пытаюсь написать расширение xkcd для chrome в javascript.
Чтобы получить URL-адрес последнего изображения, я извлекаю JSON из http://dynamic.xkcd.com/api-0/jsonp/comic/ и пытаюсь его проанализировать. Очевидно, это не совсем работает.
Ни json не анализируется правильно, ни изображение из жестко закодированного URL-адреса показывается во всплывающем окне. Как я могу решить эти проблемы?
Итак, мои вопросы:
Как мне получить URL-адрес изображения из json?
Как вставить изображение во всплывающее окно?
Вот мой код:
(Я следовал учебному пособию, поэтому осталось еще несколько фрагментов мерцания ...)
Манифест.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>