Merge pull request #1 from ListenFirstMedia/handle-params

handle existing params
This commit is contained in:
ROBINSON 2021-04-27 00:35:36 +05:30 committed by GitHub
commit 43cb384579
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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.onload = function () { return resolve(img); };
img.onerror = reject; img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous //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) { if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
} }
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
if (img.complete === true) { if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on // 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.onload = function () { return resolve(img); };
img.onerror = reject; img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous //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) { if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
} }
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
if (img.complete === true) { if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on // 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.onload = function () { return resolve(img); };
img.onerror = reject; img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous //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) { if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
} }
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
if (img.complete === true) { if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on // 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.onload = () => resolve(img);
img.onerror = reject; img.onerror = reject;
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous //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) { if (isInlineBase64Image(src) || useCORS) {
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
} }
img.crossOrigin = 'anonymous'; img.crossOrigin = 'anonymous';
img.setAttribute('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.src = src;
if (img.complete === true) { if (img.complete === true) {
// Inline XML images may fail to parse, throwing an Error later on // Inline XML images may fail to parse, throwing an Error later on