У меня есть файл HTML и JS. Если пользователь хочет перезаписать параметры по умолчанию, объявленные во внешнем файле JS, все, что ему нужно сделать, это включить в качестве встроенного сценария следующее:
<script>
userControls = {
transition : 'fade',
nextText : 'Next'
}
</script>
Проблема, с которой я сталкиваюсь, заключается в том, что мой внешний скрипт не выбирает пользовательские настройки и все настраивает по умолчанию.
var defControls = {
transition : 'default',
nextText : 'Next »'
};
var userControls = {};
// CHECKS FOR userControls
if (Object.getOwnPropertyNames(userControls).length > 0) {
var controls = Object.assign({}, defControls, userControls);
} else {
controls = defControls;
}
console.log(userControls);
console.log(controls);
console.log(defControls);
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="styles.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- EXTERNAL SCRIPT THAT ACCEPTS USER'S NEW SETTINGS -->
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<!-- SENDS THE NEW PARAMETERS TO script.js -->
<script>
userControls = {
transition : 'fade',
nextText : 'Next'
}
</script>
</body>
</html>