handle existing params

This commit is contained in:
go2rob 2021-04-26 13:01:06 +05:30
parent ea5e3db648
commit 81ba27e5aa
8 changed files with 58 additions and 12 deletions

View File

@ -2527,15 +2527,27 @@ var Cache = /** @class */ (function () {
img.onload = function () { return resolve(img); };
img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
var timeStamp = new Date().getTime();
var hasParamsRegex = /\?.+/;
if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
}
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on

File diff suppressed because one or more lines are too long

16
dist/html2canvas.js vendored
View File

@ -2533,15 +2533,27 @@
img.onload = function () { return resolve(img); };
img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
var timeStamp = new Date().getTime();
var hasParamsRegex = /\?.+/;
if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
}
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -139,15 +139,27 @@ var Cache = /** @class */ (function () {
img.onload = function () { return resolve(img); };
img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
var timeStamp = new Date().getTime();
var hasParamsRegex = /\?.+/;
if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
}
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src + '?v=' + new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src + '&v=' + timeStamp;
}
else {
src = src + '?v=' + timeStamp;
}
img.src = src;
if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on

File diff suppressed because one or more lines are too long

View File

@ -125,15 +125,25 @@ export class Cache {
img.onload = () => resolve(img);
img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
const timeStamp = new Date().getTime();
const hasParamsRegex = /\?.+/;
if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src +'?v='+new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src +'&v='+timeStamp;
} else {
src = src +'?v='+timeStamp;
}
img.src = src;
}
img.crossOrigin = 'anonymous';
img.setAttribute('crossOrigin', 'anonymous');
src = src +'?v='+new Date().getTime();
if (hasParamsRegex.test(src)) {
src = src +'&v='+timeStamp;
} else {
src = src +'?v='+timeStamp;
}
img.src = src;
if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on