• Почему значения массива выводятся как undefined?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В строке books[0] = 'text'; вы записали в нулевой элемент массива текстовое значение 'text'.
    Строка books[0][1] = 'text'; в результате эквивалентна 'text'[1] = 'text';, а при обращении к строке, как к массивоподобному объекту, изменить эту строку нельзя.
    console.log(books[0][1]); должна выводить 'e', второй символ строки.
    const books = [ [], [] ];
    books[0] = 'text';
    books[0][1] = 'text';
    console.log(books[0][1]); // e
    Ответ написан
    Комментировать
  • Как изменить заголовок страницы до загрузки DOM (расширение Chrome)?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Это конечно можно сделать, но только через костыль. Укажите в манифесте расширения опцию run_at со значением document_start, чтобы ваш контент-скрипт запускался до готовности документа:
    {
    	
    	"name" : "Имя расширения",
    	
    	"manifest_version" : 2,
    	
    	// ............................
    	
    	"content_scripts" : [
    		
    		{	
    			"matches" : [ "https://*.site.ru/*", ],
    			"run_at": "document_start",
    			"js" : [ "content-script.js" ]
    		}
    		
    	]
    	
    }

    Далее в контент-скрипте вызывайте:
    document.write('');
    document.close();

    Это мгновенно перезапишет содержимое страницы пустотой, а дальше делайте с ней (со страницей), что хотите.

    P. S. Зачем вам это нужно, если не секрет? Может другое решение подскажу.
    Ответ написан
    5 комментариев