8 октября 2009, 10:46

Динамическая загрузка javascript с обратной связью (load javascript on-demand with callback)

Ну скрипт предельно прост, и продолжает образно говоря тему предшественников
function require(url, callback){
	var script = document.createElement("script")
	script.type = "text/javascript";
	if (script.readyState) { //IE
		script.onreadystatechange = function() {
			if (script.readyState == "loaded" 
			|| script.readyState == "complete") {
				script.onreadystatechange = null;
				callback();
			}
		};
	} else { //Others
		script.onload = function() {
			callback();
		};
	}
	script.src = url;
	document.getElementsByTagName("head")[0].appendChild(script);
}
Использовать просто, вот на примере j.mp
require(
	"http://j.mp/javascript-api.js?version=latest&login=login&apiKey=app_key", 
	function () {
		BitlyCB.myShortenCallback = function(data) {
		var result;
		for (var r in data.results) {
			result = data.results[r];
			result['longUrl'] = r;
			break;
		}
		console.log(result['shortUrl']);
	};
	BitlyClient.shorten(document.location, 'BitlyCB.myShortenCallback');
	}
);


Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter