From d1d12c07bd1929357466a4b34dce6552898bb99e Mon Sep 17 00:00:00 2001 From: Jaifroid Date: Sat, 30 Apr 2022 16:43:27 +0100 Subject: [PATCH] Deal with Zimit redirects via meta http-equiv Former-commit-id: 82c579fa4e5b1cf2ed65ba17d3409f1ea2a2ec7b [formerly 2e50f41b937722e61370ee6c972b04d218752cf1] [formerly 5365b9992af91d557518372a59f327dca9cdb48f] [formerly 04d76202b17365fceeb51ab0d61f3f2abc04eac3 [formerly 947201c8614e808a31e380b112cce39f928adaab [formerly 0dfbb7f094280c42564ad19b440bc125c748e0af]]] Former-commit-id: e487169e2bc6c61dd3465ed2b4d7251c8d1ea43f [formerly d6aac0bb5f32cef6150aefd238bb094765dad9ba [formerly 17dc2a0c372f2fa85c7cde45cc15b667d8b3e151]] Former-commit-id: 8abd691802edbc34ccd404c9a3e5f8b705bd9f27 [formerly a058a4c30d4d8272ab3f7ebf06888bc6eb8ffafa] Former-commit-id: 74ab584198139363fc6fbce1a9f5a008403187a6 --- www/js/lib/transformZimit.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/www/js/lib/transformZimit.js b/www/js/lib/transformZimit.js index 2532647b..464a9238 100644 --- a/www/js/lib/transformZimit.js +++ b/www/js/lib/transformZimit.js @@ -75,7 +75,7 @@ define([], function () { function transformReplayUrls(dirEntry, data, mimetype, selectedArchive) { // Filter links in html files - if (/\bhtml\b/.test(mimetype)) { + if (/\bhtml\b/i.test(mimetype)) { var zimitPrefix = data.match(/link\s+rel=["']canonical["']\s+href=(['"])https?:\/\/([^\/]+)(.+?)\1/i); zimitPrefix = zimitPrefix ? zimitPrefix[2] : params.zimitPrefix; var regexpZimitHtmlLinks = /(<(?:a|img|script|link|track|meta)\b[^>]*?[\s;])(?:src|href|url)(=(["']))(?=\/|https?:\/\/)([^>]+)(?=\3|\?|#)([^>]*>)/ig; @@ -87,6 +87,8 @@ define([], function () { // For root-relative links, we need to add the zimitPrefix assetUrl = assetUrl.replace(/^\//, dirEntry.namespace + '/' + params.zimitPrefix + '/'); assetUrl = assetUrl.replace(/^https?:\/\//i, dirEntry.namespace + '/'); + // Deal with directives + if (/]+refresh\b/i.test(newBlock)) dirEntry.zimitRedirect = assetUrl; newBlock = params.contentInjectionMode === 'serviceworker' && !/^ ' + newBlock); return newBlock;