commit
8043940f6d
2 changed files with 100 additions and 11 deletions
@ -0,0 +1,93 @@ |
|||||||
|
(function () { |
||||||
|
"use strict"; |
||||||
|
|
||||||
|
var API_URL_ROOT = "/expo-b/get-banners/"; |
||||||
|
|
||||||
|
var getUrl = function () { |
||||||
|
var data = window.sendData; |
||||||
|
|
||||||
|
if (data instanceof Object) { |
||||||
|
var search = []; |
||||||
|
|
||||||
|
for (var key in data) { |
||||||
|
if (data.hasOwnProperty(key)) { |
||||||
|
var value = data[key]; |
||||||
|
|
||||||
|
if (value instanceof Array) { |
||||||
|
for (var i = 0, l = value.length; i < l; i++) { |
||||||
|
search.push(key + "=" + value[i]); |
||||||
|
} |
||||||
|
} else { |
||||||
|
search.push(key + "=" + value); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (search.length) { |
||||||
|
return API_URL_ROOT + "?" + search.join("&"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
return API_URL_ROOT; |
||||||
|
}; |
||||||
|
|
||||||
|
var getBanners = function (url, callback) { |
||||||
|
var xhr = new XMLHttpRequest(); |
||||||
|
xhr.open("GET", url, true); |
||||||
|
|
||||||
|
xhr.onreadystatechange = function (event) { |
||||||
|
if (event.target.readyState === 4) { |
||||||
|
if (event.target.status === 200) { |
||||||
|
try { |
||||||
|
callback(JSON.parse(event.target.responseText)); |
||||||
|
} catch (error) { |
||||||
|
// do nothing
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
xhr.send(); |
||||||
|
}; |
||||||
|
|
||||||
|
var addBanner = function (banner) { |
||||||
|
console.log(banner); |
||||||
|
|
||||||
|
var parent = document.getElementById(banner.id); |
||||||
|
|
||||||
|
if (parent) { |
||||||
|
console.log(parent); |
||||||
|
|
||||||
|
if (banner.is_img) { |
||||||
|
var a = document.createElement("a"); |
||||||
|
a.href = banner.url; |
||||||
|
|
||||||
|
var img = document.createElement("img"); |
||||||
|
img.src = banner.img; |
||||||
|
img.alt = banner.alt; |
||||||
|
|
||||||
|
a.appendChild(img); |
||||||
|
parent.appendChild(a); |
||||||
|
} else if (banner.is_html || banner.is_js) { |
||||||
|
parent.innerHTML = banner.text; |
||||||
|
// $(parent).html("<script type='text/javascript'>console.log('1111');</script>");
|
||||||
|
// $(parent).html(banner.text);
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
var insertBanners = function (data) { |
||||||
|
if (data instanceof Array) { |
||||||
|
for (var i = 0, l = data.length; i < l; i++) { |
||||||
|
addBanner(data[i]); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
var main = function () { |
||||||
|
getBanners(getUrl(), insertBanners); |
||||||
|
}; |
||||||
|
|
||||||
|
window.addEventListener("load", main); |
||||||
|
})(); |
||||||
Loading…
Reference in new issue