forked from cleviry/xiaoyi_crack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoptions.js
123 lines (113 loc) · 3.99 KB
/
options.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
const options = [
"select_translate",
"select_transDirect",
"select_subType",
"directTranslation"
]
function $(id) {
return document.getElementById(id)
}
// 将选项保存在 chrome.storage 中。
function save_options() {
var isAuto = $("auto_trs").checked,
isAutoSWT = $("select_translate").checked,
transDirect = $("select_transDirect").options.selectedIndex,
subType = $("select_subType").options.selectedIndex,
isDirectTranslate = $("directTranslation").checked;
chrome.storage.sync.set({
isAutoTranslate: isAuto,
isAutoSWT: isAutoSWT,
transDirect: transDirect,
subType: subType,
isDirectTranslate: isDirectTranslate
},
function () {
// 更新状态,告诉用户选项已保存。
console.log(isAuto, isAutoSWT, transDirect, subType, isDirectTranslate);
}
);
}
// 从保存在 chrome.storage 中的首选项恢复选择框和复选框状态。
function restore_options() {
// 使用默认值 color = 'red' 和 likesColor = true 。
chrome.storage.sync.get(
{
isAutoTranslate: false,
isAutoSWT: true,
transDirect: 1,
subType: 0,
version: '',
favoriteColor: "red",
likesColor: true,
isDirectTranslate: false
},
function (items) {
// console.log(items)
$("auto_trs").checked = items.isAutoTranslate;
if (items.isAutoTranslate) {
chrome.browserAction.setBadgeText({text: "auto"});
chrome.browserAction.setBadgeBackgroundColor({color: "#5ebb8d"});
} else {
chrome.browserAction.setBadgeText({text: ""});
}
$("select_translate").checked = items.isAutoSWT;
$("directTranslation").checked = items.isDirectTranslate;
$("select_transDirect").options.selectedIndex = items.transDirect;
$("select_subType").options.selectedIndex = items.subType;
var manifestData = chrome.runtime.getManifest();
$('version').innerText = manifestData.version
if (items.version != manifestData.version) {
chrome.storage.sync.set({
version: manifestData.version
})
openUpdateModal();
}
}
);
}
document.addEventListener("DOMContentLoaded", () => {
restore_options()
setI18n()
});
$("auto_trs").addEventListener('change', () => {
save_options()
if($("auto_trs").checked) {
chrome.browserAction.setBadgeText({text: "auto"});
chrome.browserAction.setBadgeBackgroundColor({color: "#5ebb8d"});
// chrome.browserAction.setIcon({path: 'images/logo-auto.png'});
// console.log("auto");
}
else {
chrome.browserAction.setBadgeText({text: ""});
// chrome.browserAction.setIcon({path: 'images/logo_128.png'});
}
})
options.forEach((option) => {
$(option).addEventListener('change', () => {
save_options()
})
})
function openUpdateModal() {
var elems = $('update-modal');
var modal = M.Modal.init(elems, {
});
modal.open();
}
function setI18n () {
$('optionsAutoSWT').innerText = chrome.i18n.getMessage('optionsAutoSWT')
$('optionsAutoWebTrs').innerText = chrome.i18n.getMessage('optionsAutoWebTrs')
$('defaultTrsDirect').innerText = chrome.i18n.getMessage('defaultTrsDirect')
$('transZh2En').innerText = chrome.i18n.getMessage('transZh2En')
$('transEn2Zh').innerText = chrome.i18n.getMessage('transEn2Zh')
$('transJp2Zh').innerText = chrome.i18n.getMessage('transJp2Zh')
$('defaultSubtype').innerText = chrome.i18n.getMessage('defaultSubtype')
$('optionBil').innerText = chrome.i18n.getMessage('optionBil')
$('optionSource').innerText = chrome.i18n.getMessage('optionSource')
$('optionTarget').innerText = chrome.i18n.getMessage('optionTarget')
$('textDocTrs').innerText = chrome.i18n.getMessage('textDocTrs')
$('UserCenter').innerText = chrome.i18n.getMessage('UserCenter')
$('xiaoyiApp').innerText = chrome.i18n.getMessage('xiaoyiApp')
$('feedback').innerText = chrome.i18n.getMessage('feedback')
$('showDirectly').innerText = chrome.i18n.getMessage('showDirectly');
}
chrome.runtime.sendMessage({ type: 'optionsPageview' });