Add files via upload
This commit is contained in:
parent
77630a4dd0
commit
2cc4f0f6eb
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"version": "1.1.1",
|
"version": "1.1.3",
|
||||||
|
|
||||||
"name": "__MSG_extName__",
|
"name": "__MSG_extName__",
|
||||||
"description": "__MSG_extDescription__",
|
"description": "__MSG_extDescription__",
|
||||||
|
|
|
@ -40,12 +40,6 @@ textarea {
|
||||||
color: #4268da;
|
color: #4268da;
|
||||||
}
|
}
|
||||||
|
|
||||||
#distination {
|
|
||||||
color: #aaa;
|
|
||||||
max-height: 250px;
|
|
||||||
overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#target {
|
#target {
|
||||||
max-height: 250px;
|
max-height: 250px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
|
@ -76,11 +76,10 @@ function resize() {
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//テキストエリアクリック時の処理
|
|
||||||
textarea.addEventListener("click", textAreaClick, {
|
textarea.addEventListener("click", textAreaClick, {
|
||||||
once: true
|
once: true
|
||||||
});
|
});
|
||||||
|
//テキストエリアクリック時の処理
|
||||||
function textAreaClick() {
|
function textAreaClick() {
|
||||||
if (textarea.value == initialText) {
|
if (textarea.value == initialText) {
|
||||||
textarea.value = "";
|
textarea.value = "";
|
||||||
|
@ -89,7 +88,10 @@ function textAreaClick() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea.addEventListener("keyup", inputText);
|
textarea.addEventListener("keyup", function(event){
|
||||||
|
if(event.keyCode==13) resize();
|
||||||
|
inputText();
|
||||||
|
});
|
||||||
//文字入力時の処理
|
//文字入力時の処理
|
||||||
function inputText() {
|
function inputText() {
|
||||||
sourceWord = textarea.value;
|
sourceWord = textarea.value;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#simple-translate-button {
|
#simple-translate-button {
|
||||||
|
all: initial;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -14,14 +15,12 @@
|
||||||
display: none;
|
display: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
animation-duration: 200ms;
|
animation-duration: 200ms;
|
||||||
animation-name: showButton;
|
animation-name: simple-translate-showButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
#simple-translate-panel {
|
#simple-translate-panel {
|
||||||
|
all: initial;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
|
|
||||||
text-align: left;
|
|
||||||
font-size: 13px;
|
|
||||||
/*opacity: 0;*/
|
/*opacity: 0;*/
|
||||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(0, 0, 0, 0.08);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -39,20 +38,25 @@
|
||||||
top: 0px;
|
top: 0px;
|
||||||
display: none;
|
display: none;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
/*
|
|
||||||
transition-property: height, width, opacity;
|
|
||||||
transition-timing-function: ease-out;
|
|
||||||
transition-duration: 400ms;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#simple-translate-panel p {
|
#simple-translate-panel p {
|
||||||
|
all: initial;
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
|
||||||
|
text-align: left;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
word-wrap: break-word;
|
||||||
transition-duration: 200ms;
|
transition-duration: 200ms;
|
||||||
animation-name: fadein;
|
animation-name: simple-translate-fadein;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes showButton {
|
#simple-translate-panel p::-moz-selection {
|
||||||
|
background: #ebebeb;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes simple-translate-showButton {
|
||||||
0% {
|
0% {
|
||||||
transform: scale3d(1, 1, 1);
|
transform: scale3d(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
@ -64,7 +68,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes fadein {
|
@keyframes simple-translate-fadein {
|
||||||
from {
|
from {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
@ -72,7 +76,3 @@
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#simple-translate-panel p::-moz-selection {
|
|
||||||
background: #ebebeb;
|
|
||||||
}
|
|
|
@ -9,10 +9,10 @@ var targetLang;
|
||||||
var ifShowButton;
|
var ifShowButton;
|
||||||
var ifCheckLang;
|
var ifCheckLang;
|
||||||
|
|
||||||
//設定を読み出し
|
|
||||||
getSetting();
|
getSetting();
|
||||||
browser.storage.onChanged.addListener(getSetting);
|
browser.storage.onChanged.addListener(getSetting);
|
||||||
|
//設定を読み出し
|
||||||
function getSetting() {
|
function getSetting() {
|
||||||
browser.storage.sync.get(["targetLang", "ifShowButton", "ifCheckLang"], function (value) {
|
browser.storage.sync.get(["targetLang", "ifShowButton", "ifCheckLang"], function (value) {
|
||||||
targetLang = value.targetLang;
|
targetLang = value.targetLang;
|
||||||
|
@ -22,13 +22,18 @@ function getSetting() {
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener("mouseup", Select, false);
|
window.addEventListener("mouseup", Select, false);
|
||||||
//テキスト選択時の処理
|
//テキスト選択時の処理 ダブルクリックした時2回処理が走るのを何とかしたい
|
||||||
function Select(e) {
|
function Select(e) {
|
||||||
hidePanel(e);
|
hidePanel(e);
|
||||||
setTimeout(function () { //誤動作防止の為ディレイを設ける
|
setTimeout(function () { //誤動作防止の為ディレイを設ける
|
||||||
selectionWord = String(window.getSelection());
|
selectionWord = String(window.getSelection());
|
||||||
if ((selectionWord.length !== 0) && (e.button == 0) && (e.target.id !== "simple-translate-panel") && (e.target.parentElement.id !== "simple-translate-panel")) { //選択範囲が存在かつ左クリックかつパネル以外のとき
|
if ((selectionWord.length !== 0) && (e.button == 0) && (e.target.id !== "simple-translate-panel") && (e.target.parentElement.id !== "simple-translate-panel")) { //選択範囲が存在かつ左クリックかつパネル以外のとき
|
||||||
popupButton(e);
|
clickPosition=e;
|
||||||
|
if (ifShowButton) {//ボタンを表示
|
||||||
|
checkLang().then(function (results) {
|
||||||
|
if (results) popupButton(e);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
@ -36,31 +41,27 @@ function Select(e) {
|
||||||
//選択テキストの言語をチェックして返す
|
//選択テキストの言語をチェックして返す
|
||||||
function checkLang() {
|
function checkLang() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
getRequest(selectionWord.substr(0, 100)) //先頭100文字を抽出
|
if(ifCheckLang){ //設定がオンなら
|
||||||
|
getRequest(selectionWord.substr(0, 100)) //先頭100文字を抽出して言語を取得
|
||||||
.then(function (results) {
|
.then(function (results) {
|
||||||
let lang = results.response[2];
|
let lang = results.response[2];
|
||||||
let percentage = results.response[6];
|
let percentage = results.response[6];
|
||||||
//console.log(lang, percentage, lang!=targetLang && percentage>0);
|
|
||||||
resolve(lang != targetLang && percentage > 0); //真偽値を返す
|
resolve(lang != targetLang && percentage > 0); //真偽値を返す
|
||||||
});
|
});
|
||||||
|
}else { //設定がオフならtrueを返す
|
||||||
|
resolve(true);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//ボタンを表示
|
//ボタンを表示
|
||||||
function popupButton(e) {
|
function popupButton(e) {
|
||||||
|
if (ifShowButton) {
|
||||||
button.style.left = e.clientX + 10 + 'px';
|
button.style.left = e.clientX + 10 + 'px';
|
||||||
button.style.top = e.clientY + 5 + 'px';
|
button.style.top = e.clientY + 5 + 'px';
|
||||||
if (ifShowButton) {
|
|
||||||
if (ifCheckLang) {
|
|
||||||
checkLang().then(function (results) {
|
|
||||||
if (results) button.style.display = 'block';
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
button.style.display = 'block';
|
button.style.display = 'block';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
button.addEventListener("click", function (e) {
|
button.addEventListener("click", function (e) {
|
||||||
translate();
|
translate();
|
||||||
showPanel(e);
|
showPanel(e);
|
||||||
|
@ -173,8 +174,5 @@ function sendToPopup() {
|
||||||
function showPanelFromMenu() {
|
function showPanelFromMenu() {
|
||||||
button.style.display = "none";
|
button.style.display = "none";
|
||||||
translate();
|
translate();
|
||||||
let event = new Object();
|
showPanel(clickPosition);
|
||||||
event.clientX = parseInt(button.style.left);
|
|
||||||
event.clientY = parseInt(button.style.top);
|
|
||||||
showPanel(event);
|
|
||||||
}
|
}
|
||||||
|
|
BIN
simple-translate/web-ext-artifacts/simple_translate-1.1.2.zip
Normal file
BIN
simple-translate/web-ext-artifacts/simple_translate-1.1.2.zip
Normal file
Binary file not shown.
BIN
simple-translate/web-ext-artifacts/simple_translate-1.1.3.zip
Normal file
BIN
simple-translate/web-ext-artifacts/simple_translate-1.1.3.zip
Normal file
Binary file not shown.
Loading…
Reference in a new issue