var hoverbg2 = "#848ead";
var editMode = false;
var dragSrcEl = null;
+var thumbServer = "https://www.google.com/s2/favicons?domain=";
var defaultColumns= [
["General",
["Github", "https://github.com"],
}
}
+
function genColumn(title) {
// Generate HTML elements for a column (without items)
}
+
function genItem(ul, nme, url) {
// Generate HTML elements for an item
li.setAttribute("class", ul.id + "-" + (ul.getElementsByTagName("li").length + 1).toString() );
li.addEventListener("mouseup", saveConfig);
- var img = document.createElement("img");
- img.className = "icon";
- img.src = "https://www.google.com/s2/favicons?domain=" + url;
+ var img = requestThumbnail(url);
var link = document.createElement("a");
link.className = "item";
}
+function requestThumbnail(imageUrl) {
+ // Get thumbnail from Google's favicon server
+ var img = document.createElement("img");
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', thumbServer + imageUrl);
+ xhr.responseType = "blob";
+ xhr.onload = function() {
+ img.setAttribute("data-src", thumbServer + imageUrl);
+ img.className = "icon";
+ var objUrl = URL.createObjectURL(xhr.response);
+ img.setAttribute("src", objUrl);
+ }.bind(this);
+ xhr.send();
+ return img;
+}
+
+
// --------------------------------
//
// Edit mode