Как сделать липкое всплывающее окно для расширения chrome - PullRequest
2 голосов
/ 21 февраля 2020

Я новичок в chrome расширении. И мне нужно создать расширение, которое добавляет внешний класс к выбранному тегу.

ex: - page

<h1>extension</h1> необходимо добавить внешний класс в DOM, когда этот тег мыши нажал на элемент. (не должен быть пустым элементом)

Для этого я создаю расширение chrome. Для этого мне нужно иметь фиксированное всплывающее окно или холст. Как и в случае использования селектора CSS.

Я хочу, чтобы всплывающее окно. html закрывалось только при нажатии на кнопку закрытия, а не при нажатии на элемент страницы. Не могу найти способ воткнуть всплывающее окно. он закрывается каждый раз, когда я нажимаю на веб-страницу.

это мой манифест-код

{
"manifest_version": 2,
"name":"Spider_Extension",
"version":"1.0",
"permissions": [
    "tabs"
  ],
"content_scripts":[{
    "matches":[
        "<all_urls>"
    ],
    "js":["Content.js"]
}],

"background": {
    "scripts": ["background.js"]        
  },
"browser_action":{
    "default_icon":"get_started16.png"
 }
}

это мой фон. js



function button_clicked(tab){
let msg={
   txt:"hello"

}
console.log(tab)
chrome.tabs.sendMessage(tab.id,msg);



}

это у меня всплывающее окно. html

<html>
​
<head>
   <title>Spider extension</title>
   <link rel="stylesheet" href="styles.css">
</head>
​
<body>
​
   <label for="cars">Select Level:</label>
   <select id="levels">
       <option value="l1">L1</option>
       <option value="l2">L2</option>
       <option value="l3">L3</option>
       <option value="l4">L4</option>
   </select>
   <br>
   <button id="addLevel" style="margin:5px;">Add level</button>
   <br>
   <button id="break" style="margin:5px;">Break</button>
   <br>
   <button id="deselect" style="margin:5px;">Deselect</button>
   <br>
​
   <button id="nd__close">X</button>
​
   <script src="popup.js"></script>
</body>
​
</html>

Может кто-нибудь подсказать мне решение?

заранее спасибо

1 Ответ

1 голос
/ 21 февраля 2020

Я не думаю, что всплывающие окна предназначены для такого использования, и это невозможно сделать с помощью традиционной структуры всплывающих окон. Вы должны были бы go уродливым способом и внедрить ваш всплывающий контент на страницу (многие популярные расширения делают это на самом деле). Вместо этого лучше всего использовать контекстные меню: https://developer.chrome.com/apps/contextMenus Вы можете щелкнуть правой кнопкой мыши на элементе, который хотите выбрать, например, как делает исходный код ublock: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...