From 4262882ac96bfe0bf386293f2612aa91e677421b Mon Sep 17 00:00:00 2001 From: eight Date: Thu, 14 Feb 2019 09:09:18 +0800 Subject: [PATCH] Add: enable usercss updateURL (#661) * Add: use metadata.updateURL as style.updateUrl * Change: only use the installation URL as the update URL if not specified in usercss * Fix: hide live reload checkbox according to installationUrl --- install-usercss/install-usercss.js | 6 +++--- js/usercss.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install-usercss/install-usercss.js b/install-usercss/install-usercss.js index 889da8b8..afbd6419 100644 --- a/install-usercss/install-usercss.js +++ b/install-usercss/install-usercss.js @@ -307,9 +307,9 @@ // set updateUrl const checker = $('.set-update-url input[type=checkbox]'); - // prefer the installation URL unless drag'n'dropped on the manage page + // only use the installation URL if not specified in usercss const installationUrl = (params.get('updateUrl') || '').replace(/^blob.+/, ''); - const updateUrl = new URL(installationUrl || style.updateUrl || DUMMY_URL); + const updateUrl = new URL(style.updateUrl || installationUrl || DUMMY_URL); if (dup && dup.updateUrl === updateUrl.href) { checker.checked = true; // there is no way to "unset" updateUrl, you can only overwrite it. @@ -335,7 +335,7 @@ // live reload const setLiveReload = $('.live-reload input[type=checkbox]'); - if (updateUrl.protocol !== 'file:') { + if (!installationUrl || !installationUrl.startsWith('file:')) { setLiveReload.parentNode.remove(); } else { setLiveReload.addEventListener('change', () => { diff --git a/js/usercss.js b/js/usercss.js index 360743c0..deebcbbb 100644 --- a/js/usercss.js +++ b/js/usercss.js @@ -7,7 +7,7 @@ const usercss = (() => { author: undefined, description: undefined, homepageURL: 'url', - // updateURL: 'updateUrl', + updateURL: 'updateUrl', name: undefined, }; const RX_META = /\/\*!?\s*==userstyle==[\s\S]*?==\/userstyle==\s*\*\//i;