Я экспериментирую с расширением Chrome, которое будет удалять рекламу, отображаемую в правой панели Gmail, и вместо этого помещать туда нужную информацию. (Я еще не решил, что именно туда поместить; колеблется между несколькими идеями, включая внешний контент и / или вложения.)
Объявления (обычно) содержатся в элементе <div class="oM"></div>
. Но я не могу выбрать это ни в моем расширении, ни в консоли.
Я проверил свои настройки manifest.json
, написав расширение, которое добавило лишний div в верхнюю часть страницы, и оно работало нормально - я только что создал новый элемент и
document.body.parentElement.insertBefore(new_el, document.body);
Тем не менее, сейчас я пытаюсь вырвать рекламу и вставить какой-нибудь фиктивный текст или просто поместить текст над рекламой. Это основная функция, вызываемая в моем файле content_script.js.
function modifyPage(txt) {
var container = document.getElementsByClassName('oM')[0];
container.innerHTML = txt;
}
function modifyPage(txt) {
var insert = document.createElement('div');
insert.innerText = txt;
var container = document.getElementsByClassName('oM')[0];
document.body.parentElement.insertBefore(insert, container);
}
Я даже пытался jQuery:
function modifyPage(txt) {
$('.oM').html(txt);
}
Кроме того, попытка получить <div class="oM">
с помощью консоли Chrome ничего не возвращает - хотя я могу видеть это прямо в исходном коде.