Как запустить скрипт содержимого перед загрузкой веб-страницы?

Я хочу изменить содержимое DOM, чтобы все поля ввода "" веб-страницы, прежде чем пользователь сможет ее увидеть. Как я могу это сделать? Есть ли способ сделать это? Благодарю.

1 ответ

Вам нужен скрипт контента, который выполняется на document_start, и любой из двух методов:

  1. MutationObserver ( документы), но он замедлит загрузку страницы:
  2. Добавьте переопределение стиля CSS, чтобы сделать текст INPUT прозрачным, а когда страница загружена, очистите элементы и удалите стиль:

    manifest.json:

    "content_scripts": [{
        "matches": ["<all_urls>"],
        "run_at": "document_start",
        "all_frames": true,
        "js": ["content.js"]
    }],
    

    content.js:

    // document is empty now so we'll only add the style
    var style = document.documentElement.appendChild(document.createElement('style'));
    style.textContent = 'input {color: transparent !important;}';
    
    // once DOM is ready clear the inputs
    document.addEventListener('DOMContentLoaded', function() {
        var inputs = document.getElementsByTagName('input');
        for (var i = inputs.length; --i >= 0; ) {
            var input = inputs[i];
            if (input.value) {
                input.value = '';
            }
        }
        style.remove();
    });
    
Другие вопросы по тегам