@Astral100498

Не выводится alert(js) в расширении chrome?

Добрый день. Создаю расширение для хрома. Необходимо, чтобы при нажатии на кнопку "вывод". Выводился alert c текстом, который выделили. Но при нажатии окно расширения скрывается. В чем может быть проблема?

<html>
<title>Пример#1: получаем выделенный фрагмент страницы с помощью JS</title>
<head>

</head>
<body>
<span id="text">
world face qwerty
</span>


<button id="321">ZAMENA</button>

<button id="123">ВЫВОД</button>
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="script.js"></script>

</body>
</html>


function swapSelection(swapText) {
  var sel = window.getSelection ? window.getSelection() : document.selection.createRange();
  if (sel != "") {
    if (sel.getRangeAt) {
      var range = sel.getRangeAt(0);
      var newNode = document.createElement("span");
      newNode.setAttribute('class', 'swapclass');
      range.surroundContents(newNode);
    } else {
      sel.pasteHTML('<span class="swapclass">' + sel.htmlText + '</span>');
    }
    $('.swapclass').replaceWith(swapText);
  }
}

$(document.getElementById('321')).click(function () {
  swapSelection("night");
});

 document.getElementById('123').addEventListener('click',function(){getSelectionFragment()}); 

 function getSelectionFragment(){
  var ie = false;
  if ( window.getSelection ) { 
    var selectedText = window.getSelection(); 
  } else if ( document.getSelection ) { 
    var selectedText = document.getSelection(); 
  } else if ( document.selection ) { 
    ie = true;
    var selectedText = document.selection.createRange(); 
  } 
  if(!ie){
    alert(selectedText)//  просто выведет выделенный текст без тегов 
    var theParent = selectedText.getRangeAt(0).cloneContents(); 
     // собственно выделенный кусок кода 
  }else{
 
    alert(selectedText.text) // текст
    alert(selectedText.htmlText) // выделенный кусок кода
  }
}
function toHTML(docFragment){ 
    var d = document.createElement('div'); 
    d.appendChild(docFragment);
    return d.innerHTML; 
}
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
02 июн. 2024, в 01:13
2000 руб./за проект
01 июн. 2024, в 23:49
50000 руб./за проект
01 июн. 2024, в 23:20
30000 руб./за проект