diff --git a/src/Core.js b/src/Core.js
index 8c2a907..a29e6cb 100644
--- a/src/Core.js
+++ b/src/Core.js
@@ -75,7 +75,8 @@ _html2canvas.Util.getCSS = function (el, attribute) {
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
- if ( !/^-?\d+(?:px)?$/i.test( val ) && /^-?\d/.test( val ) ) {
+
+ if ( !/^-?[0-9]+\.?[0-9]*(?:px)?$/i.test( val ) && /^-?\d/.test( val ) ) {
// Remember the original values
left = style.left;
@@ -94,7 +95,13 @@ _html2canvas.Util.getCSS = function (el, attribute) {
}
}
+
+ if (!/^(thin|medium|thick)$/i.test( val )) {
+ return Math.round(parseFloat( val )) + "px";
+ }
+
return val;
+
}
@@ -104,7 +111,7 @@ _html2canvas.Util.getCSS = function (el, attribute) {
if ( attribute === "backgroundPosition" ) {
val = (val.split(",")[0] || "0 0").split(" ");
-
+
val[ 0 ] = ( val[0].indexOf( "%" ) === -1 ) ? toPX( attribute + "X", val[ 0 ] ) : val[ 0 ];
val[ 1 ] = ( val[1] === undefined ) ? val[0] : val[1]; // IE 9 doesn't return double digit always
val[ 1 ] = ( val[1].indexOf( "%" ) === -1 ) ? toPX( attribute + "Y", val[ 1 ] ) : val[ 1 ];
@@ -114,8 +121,7 @@ _html2canvas.Util.getCSS = function (el, attribute) {
// IE 9>
if (attribute === "backgroundPosition") {
// Older IE uses -x and -y
- val = [ toPX( attribute + "X", el.currentStyle[ attribute + "X" ] ), toPX( attribute + "Y", el.currentStyle[ attribute + "X" ] ) ];
-
+ val = [ toPX( attribute + "X", el.currentStyle[ attribute + "X" ] ), toPX( attribute + "Y", el.currentStyle[ attribute + "Y" ] ) ];
} else {
val = toPX( attribute, el.currentStyle[ attribute ] );
@@ -212,8 +218,9 @@ _html2canvas.Util.Children = function(el) {
// $(el).contents() !== el.childNodes, Opera / IE have issues with that
var children;
try {
- children = $(el).contents();
- // children = (el.nodeName && el.nodeName.toUpperCase() === "IFRAME") ? el.contentDocument || el.contentWindow.document : Array.prototype.push.call([], el.childNodes );
+ // children = $(el).contents();
+ children = (el.nodeName && el.nodeName.toUpperCase() === "IFRAME") ? el.contentDocument || el.contentWindow.document : el.childNodes ;
+
} catch (ex) {
h2clog("html2canvas.Util.Children failed with exception: " + ex.message);
children = [];
diff --git a/src/Preload.js b/src/Preload.js
index e16b6a0..563005f 100644
--- a/src/Preload.js
+++ b/src/Preload.js
@@ -144,7 +144,8 @@ _html2canvas.Preload = function( options ) {
// TODO add multi image background support
- if (background_image.substring(0,7) === "-webkit" || background_image.substring(0,3) === "-o-" || background_image.substring(0,4) === "-moz") {
+ if (!/^(-webkit|-o|-moz|-ms|linear)-/.test( src )) {
+ // if (background_image.substring(0,7) === "-webkit" || background_image.substring(0,3) === "-o-" || background_image.substring(0,4) === "-moz") {
img = _html2canvas.Generate.Gradient( background_image, _html2canvas.Util.Bounds( el ) );
@@ -210,10 +211,10 @@ _html2canvas.Preload = function( options ) {
};
- // TODO Opera has no load/error event for SVG images
+ // TODO Opera has no load/error event for SVG images
- // Opera ninja onload's cached images
- /*
+ // Opera ninja onload's cached images
+ /*
window.setTimeout(function(){
if ( img.width !== 0 && imageObj.succeeded === undefined ) {
img.onload();
diff --git a/tests/qunit/index.html b/tests/qunit/index.html
index 1a465b5..529082b 100644
--- a/tests/qunit/index.html
+++ b/tests/qunit/index.html
@@ -22,7 +22,7 @@
-
+