2024-04-09 21:21:19 +08:00
|
|
|
|
// initialize from localStorage
|
|
|
|
|
let isRead = localStorage.getItem('readChecked') !== 'false'; // default to true
|
2024-03-27 12:39:42 +08:00
|
|
|
|
let isChoose = localStorage.getItem('chooseChecked') !== 'false';
|
2022-01-26 21:10:09 +08:00
|
|
|
|
|
2022-07-18 16:00:08 +08:00
|
|
|
|
function getWord() {
|
|
|
|
|
return window.getSelection ? window.getSelection() : document.selection.createRange().text;
|
2022-01-26 21:10:09 +08:00
|
|
|
|
}
|
2022-07-18 16:00:08 +08:00
|
|
|
|
|
|
|
|
|
function fillInWord() {
|
|
|
|
|
let word = getWord();
|
2023-05-25 17:35:31 +08:00
|
|
|
|
if (isRead) Reader.read(word, inputSlider.value);
|
2022-07-18 16:00:08 +08:00
|
|
|
|
if (!isChoose) return;
|
|
|
|
|
const element = document.getElementById("selected-words");
|
|
|
|
|
element.value = element.value + " " + word;
|
2024-03-27 12:39:42 +08:00
|
|
|
|
localStorage.setItem('selectedWords', element.value);
|
2022-07-18 16:00:08 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
document.getElementById("text-content").addEventListener("click", fillInWord, false);
|
|
|
|
|
|
2023-05-25 17:35:31 +08:00
|
|
|
|
const sliderValue = document.getElementById("rangeValue");
|
|
|
|
|
const inputSlider = document.getElementById("rangeComponent");
|
2022-07-18 16:00:08 +08:00
|
|
|
|
inputSlider.oninput = () => {
|
2023-05-25 17:35:31 +08:00
|
|
|
|
let value = inputSlider.value;
|
2022-07-18 16:00:08 +08:00
|
|
|
|
sliderValue.textContent = value + '×';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function onReadClick() {
|
2022-01-26 21:10:09 +08:00
|
|
|
|
isRead = !isRead;
|
2024-03-27 12:39:42 +08:00
|
|
|
|
localStorage.setItem('readChecked', isRead);
|
2022-01-26 21:10:09 +08:00
|
|
|
|
}
|
2022-07-18 16:00:08 +08:00
|
|
|
|
|
|
|
|
|
function onChooseClick() {
|
2022-01-26 21:10:09 +08:00
|
|
|
|
isChoose = !isChoose;
|
2024-03-27 12:39:42 +08:00
|
|
|
|
localStorage.setItem('chooseChecked', isChoose);
|
2022-07-18 16:00:08 +08:00
|
|
|
|
}
|
2023-05-31 18:37:05 +08:00
|
|
|
|
|
2023-06-02 21:33:21 +08:00
|
|
|
|
// 如果网页刷新,停止播放声音
|
|
|
|
|
if (performance.getEntriesByType("navigation")[0].type == "reload") {
|
2023-05-31 18:37:05 +08:00
|
|
|
|
Reader.stopRead();
|
2024-03-27 12:39:42 +08:00
|
|
|
|
}
|