Improve settings performance

This commit is contained in:
the1812 2019-04-26 15:35:01 +08:00
parent 2526766c93
commit eb95f81abb
5 changed files with 127 additions and 52 deletions

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name Bilibili Evolved (Offline) // @name Bilibili Evolved (Offline)
// @version 283.30 // @version 283.99
// @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中. // @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G // @author Grant Howard, Coulomb-G
// @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@ -128,15 +128,30 @@ function loadSettings()
{ {
for (const key in settings) for (const key in settings)
{ {
const value = GM_getValue(key, settings[key]); let value = GM_getValue(key, settings[key]);
if (settings[key] !== undefined && value.constructor === Object) if (settings[key] !== undefined && value.constructor === Object)
{ {
settings[key] = Object.assign(settings[key], value); value = Object.assign(settings[key], value);
}
else
{
settings[key] = value;
} }
Object.defineProperty(settings, key, {
get()
{
return value;
},
set(newValue)
{
value = newValue;
GM_setValue(key, newValue);
},
});
// if (settings[key] !== undefined && value.constructor === Object)
// {
// settings[key] = Object.assign(settings[key], value);
// }
// else
// {
// settings[key] = value;
// }
} }
for (const key in fixedSettings) for (const key in fixedSettings)
{ {
@ -145,10 +160,10 @@ function loadSettings()
} }
function saveSettings(newSettings) function saveSettings(newSettings)
{ {
for (const key in settings) // for (const key in settings)
{ // {
GM_setValue(key, newSettings[key]); // GM_setValue(key, newSettings[key]);
} // }
} }
function onSettingsChange() function onSettingsChange()
{ {

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name Bilibili Evolved (Preview Offline) // @name Bilibili Evolved (Preview Offline)
// @version 283.30 // @version 283.99
// @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G // @author Grant Howard, Coulomb-G
// @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@ -128,15 +128,30 @@ function loadSettings()
{ {
for (const key in settings) for (const key in settings)
{ {
const value = GM_getValue(key, settings[key]); let value = GM_getValue(key, settings[key]);
if (settings[key] !== undefined && value.constructor === Object) if (settings[key] !== undefined && value.constructor === Object)
{ {
settings[key] = Object.assign(settings[key], value); value = Object.assign(settings[key], value);
}
else
{
settings[key] = value;
} }
Object.defineProperty(settings, key, {
get()
{
return value;
},
set(newValue)
{
value = newValue;
GM_setValue(key, newValue);
},
});
// if (settings[key] !== undefined && value.constructor === Object)
// {
// settings[key] = Object.assign(settings[key], value);
// }
// else
// {
// settings[key] = value;
// }
} }
for (const key in fixedSettings) for (const key in fixedSettings)
{ {
@ -145,10 +160,10 @@ function loadSettings()
} }
function saveSettings(newSettings) function saveSettings(newSettings)
{ {
for (const key in settings) // for (const key in settings)
{ // {
GM_setValue(key, newSettings[key]); // GM_setValue(key, newSettings[key]);
} // }
} }
function onSettingsChange() function onSettingsChange()
{ {

View File

@ -127,15 +127,30 @@ function loadSettings()
{ {
for (const key in settings) for (const key in settings)
{ {
const value = GM_getValue(key, settings[key]); let value = GM_getValue(key, settings[key]);
if (settings[key] !== undefined && value.constructor === Object) if (settings[key] !== undefined && value.constructor === Object)
{ {
settings[key] = Object.assign(settings[key], value); value = Object.assign(settings[key], value);
}
else
{
settings[key] = value;
} }
Object.defineProperty(settings, key, {
get()
{
return value;
},
set(newValue)
{
value = newValue;
GM_setValue(key, newValue);
},
});
// if (settings[key] !== undefined && value.constructor === Object)
// {
// settings[key] = Object.assign(settings[key], value);
// }
// else
// {
// settings[key] = value;
// }
} }
for (const key in fixedSettings) for (const key in fixedSettings)
{ {
@ -144,10 +159,10 @@ function loadSettings()
} }
function saveSettings(newSettings) function saveSettings(newSettings)
{ {
for (const key in settings) // for (const key in settings)
{ // {
GM_setValue(key, newSettings[key]); // GM_setValue(key, newSettings[key]);
} // }
} }
function onSettingsChange() function onSettingsChange()
{ {

View File

@ -127,15 +127,30 @@ function loadSettings()
{ {
for (const key in settings) for (const key in settings)
{ {
const value = GM_getValue(key, settings[key]); let value = GM_getValue(key, settings[key]);
if (settings[key] !== undefined && value.constructor === Object) if (settings[key] !== undefined && value.constructor === Object)
{ {
settings[key] = Object.assign(settings[key], value); value = Object.assign(settings[key], value);
}
else
{
settings[key] = value;
} }
Object.defineProperty(settings, key, {
get()
{
return value;
},
set(newValue)
{
value = newValue;
GM_setValue(key, newValue);
},
});
// if (settings[key] !== undefined && value.constructor === Object)
// {
// settings[key] = Object.assign(settings[key], value);
// }
// else
// {
// settings[key] = value;
// }
} }
for (const key in fixedSettings) for (const key in fixedSettings)
{ {
@ -144,10 +159,10 @@ function loadSettings()
} }
function saveSettings(newSettings) function saveSettings(newSettings)
{ {
for (const key in settings) // for (const key in settings)
{ // {
GM_setValue(key, newSettings[key]); // GM_setValue(key, newSettings[key]);
} // }
} }
function onSettingsChange() function onSettingsChange()
{ {

View File

@ -102,15 +102,30 @@ export function loadSettings()
{ {
for (const key in settings) for (const key in settings)
{ {
const value = GM_getValue(key, settings[key]); let value = GM_getValue(key, settings[key]);
if (settings[key] !== undefined && value.constructor === Object) if (settings[key] !== undefined && value.constructor === Object)
{ {
settings[key] = Object.assign(settings[key], value); value = Object.assign(settings[key], value);
}
else
{
settings[key] = value;
} }
Object.defineProperty(settings, key, {
get()
{
return value;
},
set(newValue)
{
value = newValue;
GM_setValue(key, newValue);
},
});
// if (settings[key] !== undefined && value.constructor === Object)
// {
// settings[key] = Object.assign(settings[key], value);
// }
// else
// {
// settings[key] = value;
// }
} }
for (const key in fixedSettings) for (const key in fixedSettings)
{ {
@ -119,10 +134,10 @@ export function loadSettings()
} }
export function saveSettings(newSettings) export function saveSettings(newSettings)
{ {
for (const key in settings) // for (const key in settings)
{ // {
GM_setValue(key, newSettings[key]); // GM_setValue(key, newSettings[key]);
} // }
} }
export function onSettingsChange() export function onSettingsChange()
{ {