Не работает код в Tampermonkey

Рейтинг: 0Ответов: 1Опубликовано: 25.07.2023

Имею достаточно простой кусок кода:

<html>
<head>

</head>
<body>

    <table>
        <tr>
            <td>
                <input type="text" id="txt" autofocus placeholder="Введи номер">
            </td>
        </tr>
        <tr>
            <td>
                <input type="button" value="Поиск">
            </td>
        </tr>
    </table>

</body>
</html>

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

Когда же я вставляю код в скрипт Tampermonkey, то он перестает работать. Вот код скрипта:

(function() {
    'use strict';
    let divLast = document.createElement('td');
    divLast.innerHTML = '<div id="Search_panel">'+
    '<table><tr><td><input type="text" id="txt" autofocus placeholder="Введи номер"></td></tr>' + '<tr><td></td></tr>' +
    '<tr><td><input type="button" value="Поиск"></td></tr></table>'
    workPlace.before(divLast);
    })();

Визуально инъекция html происходит, но кнопка не переводит на новую страницу.

Я с JS не очень силен. Может быть подскажете в чем может быть проблема?

Ответы

▲ 0Принят

Используйте обратные кавычки:

(function() {
    'use strict';
    let divLast = document.createElement('td');
    divLast.innerHTML = '<div id="Search_panel">'+
    '<table><tr><td><input type="text" id="txt" autofocus placeholder="Введи номер"></td></tr>' + '<tr><td></td></tr>' +
    `<tr><td><input type="button" value="Поиск"></td></tr></table>`
    workPlace.before(divLast);
})();