Remove crossorigin attributes in snapshots.
When loading a snapshot locally, same-origin of null will not load them
This commit is contained in:
parent
dadc64e0d5
commit
ed304b56e0
3 changed files with 25 additions and 4 deletions
|
@ -78,11 +78,30 @@ Zotero.SingleFile = {
|
||||||
extractAuthCode: true,
|
extractAuthCode: true,
|
||||||
insertTextBody: true,
|
insertTextBody: true,
|
||||||
resolveFragmentIdentifierURLs: false,
|
resolveFragmentIdentifierURLs: false,
|
||||||
userScriptEnabled: false,
|
userScriptEnabled: true,
|
||||||
saveCreatedBookmarks: false,
|
saveCreatedBookmarks: false,
|
||||||
ignoredBookmarkFolders: [],
|
ignoredBookmarkFolders: [],
|
||||||
replaceBookmarkURL: true,
|
replaceBookmarkURL: true,
|
||||||
saveFavicon: true,
|
saveFavicon: true,
|
||||||
includeBOM: false
|
includeBOM: false
|
||||||
|
},
|
||||||
|
|
||||||
|
runUserScripts: function () {
|
||||||
|
let modifiedElements = [];
|
||||||
|
window.dispatchEvent(new CustomEvent('single-filez-user-script-init'));
|
||||||
|
|
||||||
|
window.addEventListener('single-filez-on-before-capture-request', () => {
|
||||||
|
const elements = document.querySelectorAll("img[crossorigin], link[crossorigin]");
|
||||||
|
elements.forEach((element) => {
|
||||||
|
modifiedElements.push([element, element.getAttribute('crossorigin')]);
|
||||||
|
element.removeAttribute('crossorigin');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
window.addEventListener('single-filez-on-after-capture-request', () => {
|
||||||
|
modifiedElements.forEach(([element, attribute]) => {
|
||||||
|
element.setAttribute('crossorigin', attribute);
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -691,7 +691,8 @@ Zotero.Utilities.Internal = {
|
||||||
|
|
||||||
// Use SingleFile to retrieve the html
|
// Use SingleFile to retrieve the html
|
||||||
const pageData = await Components.utils.evalInSandbox(
|
const pageData = await Components.utils.evalInSandbox(
|
||||||
`this.singlefile.lib.getPageData(
|
`Zotero.SingleFile.runUserScripts();
|
||||||
|
this.singlefile.lib.getPageData(
|
||||||
Zotero.SingleFile.CONFIG,
|
Zotero.SingleFile.CONFIG,
|
||||||
{ fetch: ZoteroFetch }
|
{ fetch: ZoteroFetch }
|
||||||
);`,
|
);`,
|
||||||
|
|
|
@ -55,8 +55,9 @@ async function babelWorker(ev) {
|
||||||
|
|
||||||
// Patch single-file-helper
|
// Patch single-file-helper
|
||||||
else if (sourcefile === 'resource/SingleFileZ/lib/single-file/single-file-helper.js') {
|
else if (sourcefile === 'resource/SingleFileZ/lib/single-file/single-file-helper.js') {
|
||||||
transformed = contents.replace('addEventListener("single-filez-user-script-init"',
|
transformed = contents
|
||||||
'window.addEventListener("single-filez-user-script-init"');
|
.replace('dispatchEvent(', 'window.dispatchEvent(')
|
||||||
|
.replace(/addEventListener\(/g, 'window.addEventListener(');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Patch index.js - This is a SingleFileZ issue. SingleFileZ does not typically use
|
// Patch index.js - This is a SingleFileZ issue. SingleFileZ does not typically use
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue