好的,所以我試着做一個Chrome擴展。我在這方面有點小氣,這就是爲什麼我從一個教程網站的示例擴展開始,並添加了一些東西。我從一些我不記得的網站上下來,如果你真的想要歸因,我可以搜索它。代碼:createElement()不起作用
var req = new XMLHttpRequest();
req.open(
"GET",
"http://api.flickr.com/services/rest/?" +
"method=flickr.photos.search&" +
"api_key=90485e931f687a9b9c2a66bf58a3861a&" +
"text=hello_world&" +
"safe_search=1&" +
"content_type=1&" +
"sort=relevance&" +
"per_page=24",
true);
req.onload = showPhotos;
req.send(null);
function showPhotos() {
var photos = req.responseXML.getElementsByTagName("photo");
for (var i = 0, photo; photo = photos[i]; i++) {
var img = document.createElement("image");
img.src = constructImageURL(photo);
document.getElementById("images").appendChild(img);
}
}
function constructImageURL(photo) {
return "http://farm" + photo.getAttribute("farm") +
".static.flickr.com/" + photo.getAttribute("server") +
"/" + photo.getAttribute("id") +
"_" + photo.getAttribute("secret") +
"_s.jpg";
}
所以無論如何,該擴展程序是它發送一個XMLHttpRequest到Flickr的API,讓一些圖像(以XML格式的img標籤)。然後使用for循環遍歷這些標記,併爲每個標記使用createElement()創建一個新的img元素,並使用constructImageURL()函數爲其提供src屬性並將其附加到彈出頁面。我想要做的是讓它能夠真正點擊這些圖像,並將其帶到圖像頁面。我試圖根據創建圖像元素的代碼創建一小段代碼,但是創建了錨(a)元素,我將其添加到for循環中。它看起來像這樣:
var a = document.createElement("link");
a.href = constructImageURL(photo);
a.target = "_blank";
document.getElementById("images").appendChild(a);
,然後我添加了一些代碼到IMG元素追加到錨定體,有效地使一個<a><img /></a>
結構:
document.a.appendChild(img);
但是,這是行不通的。有人可以幫忙嗎?
哦,如果這有助於在所有,在manifest.json文件中有以下內容: '{ 「名」:「我的第一個擴展」, 「版本 「: 」1.0「, 」manifest_version「:2, 」描述「: 」我所做的第一個擴展名「, 」browser_action。「:{ \t 」default_icon「: 」的icon.png「, \t」 default_popup「: 」results.html「 }, 」權限「:[ 」http://api.flickr.com/「 ] }' – Bluefire