Внедрены новые функции
Этот коммит содержится в:
родитель
0d5182c3d9
Коммит
6e784ebc66
67
content-script.js
Обычный файл
67
content-script.js
Обычный файл
@ -0,0 +1,67 @@
|
|||||||
|
const corpExtensionLog = (message) => console.log(`corp-tularegion-extension: ${message}`)
|
||||||
|
let copyInterval
|
||||||
|
|
||||||
|
window.addEventListener('load', () => {
|
||||||
|
chrome.storage.local.get([
|
||||||
|
'redirectMode',
|
||||||
|
'copyMode',
|
||||||
|
'autoAuthMode',
|
||||||
|
]).then((data) => {
|
||||||
|
corpExtensionLog(Object.entries(data).map((x) => `${x[0]}=${x[1]}`).join('; '))
|
||||||
|
// initCopyMode(data.copyMode)
|
||||||
|
initAutoAuthMode(data.autoAuthMode)
|
||||||
|
|
||||||
|
// chrome.storage.onChanged.addListener((changes) => {
|
||||||
|
// if (changes.copyMode)
|
||||||
|
// initCopyMode(changes.copyMode.newValue)
|
||||||
|
// })
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const initCopyMode = (value) => {
|
||||||
|
if (copyInterval)
|
||||||
|
clearInterval(copyInterval)
|
||||||
|
console.log(value)
|
||||||
|
switch (value) {
|
||||||
|
case 1:
|
||||||
|
setCopyInterval(/corp\.tularegion\.(ru)/gis, 'local')
|
||||||
|
break
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
setCopyInterval(/corp\.tularegion\.(local)/gis, 'ru')
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const initAutoAuthMode = (value) => {
|
||||||
|
if (!value) return
|
||||||
|
const loginField = document.querySelector('input[name="USER_LOGIN"]')
|
||||||
|
const passwordField = document.querySelector('input[name="USER_PASSWORD"]')
|
||||||
|
const rememberCheckbox = document.querySelector('input[name="USER_REMEMBER"]')
|
||||||
|
const authButton = document.querySelector('input.login-btn[type="submit"]')
|
||||||
|
|
||||||
|
if (loginField && passwordField && rememberCheckbox && authButton) {
|
||||||
|
chrome.storage.local.get([
|
||||||
|
'autoAuthLogin',
|
||||||
|
'autoAuthPassword',
|
||||||
|
]).then((data) => {
|
||||||
|
loginField.value = data.autoAuthLogin
|
||||||
|
passwordField.value = data.autoAuthPassword
|
||||||
|
rememberCheckbox.checked = true
|
||||||
|
// authButton.dispatchEvent(new Event('click'))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const setCopyInterval = (from, to) => {
|
||||||
|
copyInterval = setInterval(
|
||||||
|
() => {
|
||||||
|
navigator.clipboard.readText()
|
||||||
|
.then(text => {
|
||||||
|
console.log(text.replaceAll(from, (match, tld) => match.replace(tld, to)))
|
||||||
|
})
|
||||||
|
.catch()
|
||||||
|
},
|
||||||
|
1000,
|
||||||
|
)
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "Переадресация Корпоративного портала",
|
"name": "Корпоративный портал",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"icons": {
|
"icons": {
|
||||||
"16": "/icons/16x16.png",
|
"16": "/icons/16x16.png",
|
||||||
@ -15,8 +15,19 @@
|
|||||||
"*://corp.tularegion.local/*",
|
"*://corp.tularegion.local/*",
|
||||||
"*://corp.tularegion.ru/*"
|
"*://corp.tularegion.ru/*"
|
||||||
],
|
],
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"*://corp.tularegion.local/*",
|
||||||
|
"*://corp.tularegion.ru/*"
|
||||||
|
],
|
||||||
|
"js": [
|
||||||
|
"/content-script.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"background": {
|
"background": {
|
||||||
"service_worker": "/background.js"
|
"service_worker": "/service_worker.js"
|
||||||
},
|
},
|
||||||
"action": {
|
"action": {
|
||||||
"default_popup": "/public/index.html"
|
"default_popup": "/public/index.html"
|
||||||
@ -32,5 +43,8 @@
|
|||||||
},
|
},
|
||||||
"content_security_policy": {
|
"content_security_policy": {
|
||||||
"extension_pages": "default-src 'self'; script-src 'self' 'wasm-unsafe-eval'"
|
"extension_pages": "default-src 'self'; script-src 'self' 'wasm-unsafe-eval'"
|
||||||
|
},
|
||||||
|
"storage": {
|
||||||
|
"managed_schema": "/storage_schema.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,8 @@ chrome.runtime.onInstalled.addListener(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
chrome.storage.onChanged.addListener((changes) => {
|
chrome.storage.onChanged.addListener((changes) => {
|
||||||
if (changes.redirectMode) updateRules(changes.redirectMode.newValue)
|
if (changes.redirectMode)
|
||||||
|
updateRules(changes.redirectMode.newValue)
|
||||||
})
|
})
|
||||||
|
|
||||||
const updateRules = (mode) => {
|
const updateRules = (mode) => {
|
20
storage_schema.json
Обычный файл
20
storage_schema.json
Обычный файл
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"redirectMode": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"copyMode": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"autoAuthMode": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"autoAuthLogin": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"autoAuthPassword": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче
Block a user