diff --git a/simple-translate/icons/border-48.png b/simple-translate/icons/border-48.png new file mode 100644 index 0000000..90687de Binary files /dev/null and b/simple-translate/icons/border-48.png differ diff --git a/simple-translate/manifest.json b/simple-translate/manifest.json new file mode 100644 index 0000000..847dd96 --- /dev/null +++ b/simple-translate/manifest.json @@ -0,0 +1,20 @@ +{ + + "manifest_version": 2, + "name": "Simple Translate", + "version": "1.0", + + "description": "Adds a red border to all webpages matching mozilla.org.", + + "icons": { + "48": "icons/border-48.png" + }, + + "content_scripts": [ + { + "matches": [""], + "js": ["simple-translate.js"] + } + ] + +} \ No newline at end of file diff --git a/simple-translate/popup/popup.css b/simple-translate/popup/popup.css new file mode 100644 index 0000000..7335928 --- /dev/null +++ b/simple-translate/popup/popup.css @@ -0,0 +1,6 @@ +#button { + width: 20px; + height: 20px; + background-color: steelblue; + +} \ No newline at end of file diff --git a/simple-translate/popup/popup.html b/simple-translate/popup/popup.html new file mode 100644 index 0000000..5df5216 --- /dev/null +++ b/simple-translate/popup/popup.html @@ -0,0 +1,14 @@ + + + + + + + + + + +
+ + + \ No newline at end of file diff --git a/simple-translate/simple-translate.js b/simple-translate/simple-translate.js new file mode 100644 index 0000000..ceda70d --- /dev/null +++ b/simple-translate/simple-translate.js @@ -0,0 +1,41 @@ +var style = document.createElement("style"); +style.setAttribute("type", "text/css"); +style.innerHTML = "" + + "#simple-translate-button {" + + "background-color :rgba(87, 199, 232, 0.6);" + + "height :20px;" + + "width :20px;" + + "position :fixed;" + + "z-index: 150;" + + "left :0px;" + + "top :0px;" + + "display :none;" + + "cursor :pointer;" + + "}"; +document.getElementsByTagName("head")[0].appendChild(style); //headに上記スタイルを追記 +document.body.insertAdjacentHTML("beforeend", "
"); //body末尾にボタン配置 + +var button = document.getElementById("simple-translate-button"); +var selectionWord; + +function showPanel() { + console.log(selectionWord); +} + +function popupButton(e) { + button.style.display = 'block'; + button.style.left = e.clientX + 20 + 'px'; + button.style.top = e.clientY + 0 + 'px'; +} + +function Select(e) { + button.style.display = 'none'; //マウスクリックでボタンを非表示に + setTimeout(function () { //誤動作防止の為ディレイを設ける + selectionWord = String(window.getSelection()); + if (selectionWord.length !== 0 && e.button == 0) { //選択範囲が存在かつ左クリックのとき + popupButton(e); + } + }, 100); +} +window.addEventListener("mouseup", Select, false); +button.addEventListener("click", showPanel, false); \ No newline at end of file