parent
897b23b592
commit
8bc67e642d
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