1
0
Fork 0
mirror of https://github.com/futurepress/epub.js.git synced 2025-10-03 14:59:18 +02:00
epub.js/fpjs/render/core.js
2013-01-10 13:57:27 -08:00

123 lines
2.5 KiB
JavaScript

FP.core = {}
//-- Get a element for an id
FP.core.getEl = function(elem) {
return document.getElementById(elem);
}
//-- Get all elements for a class
FP.core.getEls = function(classes) {
return document.getElementsByClassName(classes);
}
FP.core.loadXML = function(url, callback){
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.overrideMimeType('text/xml');
xhr.onload = function(e) {
if (this.status == 200) {
callback(this.responseXML);
}
};
xhr.send();
}
// FP.core.loadFile = function(url){
// var xhr = new XMLHttpRequest(),
// succeeded,
// failed;
//
// function _loaded(response){
// console.log("response")
// }
//
// function _error(err){
// console.log("Error:", err);
// }
//
// function start(){
// //xhr.open('GET', url, true);
// //xhr.responseType = 'blob';
//
// xhr.onload = function(e) {
// if (this.status == 200) {
// succeeded(this.response);
// }
// };
//
// xhr.onerror = function(e) {
// _error(this.status); //-- TODO: better error message
// };
//
// //xhr.send();
// console.log(succeeded)
// }
//
// return {
// "start": start,
// "loaded" : succeeded,
// "error" : failed
// }
// }
FP.core.loadFile = function(url, callback){
var xhr = new XMLHttpRequest();
this.succeeded = function(response){
if(callback){
callback(response);
}
}
this.failed = function(err){
console.log("Error:", err);
}
this.start = function(){
var that = this;
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
that.succeeded(this.response);
}
};
xhr.onerror = function(e) {
that.failed(this.status); //-- TODO: better error message
};
xhr.send();
}
return {
"start": this.start,
"succeeded" : this.succeeded,
"failed" : this.failed
}
}
FP.core.crossBrowserColumnCss = function(){
//-- From Readium: reflowable_pagination_view.js
var cssIfy = function(str) {
return str.replace(/([A-Z])/g, function(str,m1){
return '-' + m1.toLowerCase();
}).replace(/^ms-/,'-ms-');
};
// ask modernizr for the vendor prefixed version
FP.core.columnAxis = Modernizr.prefixed('columnAxis') || 'columnAxis';
FP.core.columnGap = Modernizr.prefixed('columnGap') || 'columnGap';
FP.core.columnWidth = Modernizr.prefixed('columnWidth') || 'columnWidth';
// we are interested in the css prefixed version
// FP.core.columnAxis = cssIfy(FP.core.columnAxis);
// FP.core.columnGap = cssIfy(FP.core.columnGap);
// FP.core.columnWidth = cssIfy(FP.core.columnWidth);
}