@Mosapi

Как изменить стиль страницы подгруженной post запросом, с помощью расширения Chrome?

Всем доброго дня! Хелп пруфы и мастера.
Пишу расширение для Chrome
Расширение должно при нажатии на кнопку в popup'е подгружать(открывать) страницу, менять стиль необходимых элементов и отправлять файл на печать.

manifest.json;
{
    "manifest_version": 2,
	
	"name": "Extension",
	"version": "1.0",
    "description": "Easy app extension",
 
    "browser_action": {
        "default_title": "Extension",
        "default_popup": "popup.html"
    },

    "permissions": [
        "activeTab"
    ],
	"content_scripts": [{
		"matches": [ "http://mi.url.ru/*" ],
		"js": ["popup.js", "jquery.js"]

    }]
}


popup.html:
<!doctype html>
<html>
  <head>
    <title>Приложение</title>
	 <script src="popup.js"></script>
	<script src="jquery.js" type="text/javascript"></script>
	<link href="style.css" rel="stylesheet" type="text/css"/>
  </head>
	<body id='toby'>
		<h3>Заголовок:</h3>
        <button id="checkPage">start</button>
		<div id="dannie"></div>
	</body>
</html>


Нужная страничка открывается вот так:
popup.js
document.addEventListener('DOMContentLoaded', function() {
    var checkPageButton = document.getElementById('checkPage');
    checkPageButton.addEventListener('click', function() { 
        chrome.tabs.getSelected(null, function(tab) {
            d = document;
             var f = d.createElement('form');
            f.action = tab.url;
            f.method = 'post';
            var i = d.createElement('input');
            i.type = 'hidden';
            i.name = 'url';
            i.value = tab.url;
            f.appendChild(i);
            d.body.appendChild(f);
            f.submit();
			//alert(i.value);
			window.print(); //печать, после скрытия элементов
        });
    }, false);
}, false);


style.css:
.ZS{display:none !important;font-size:0pt !important;}
.zS{display:none !important;font-size:0pt !important;}
strong{display:none !important;font-size:0pt !important;}
p{display:none !important;font-size:0pt !important;}
table{display:none !important;font-size:0pt !important;}
.xY{display:none !important;font-size:0pt !important;}
.wY{display:table-cell !important;}
h4{text-align:center !important;margin-top:5px !important;}
img{margin-bottom:30px !important;}


Отсюда собственно и две проблемы:
1. Открывшееся окошко с подгруженной страницей не дает производить манипуляций с его стилями.
пробовал так:
var el = document.getElementsByTagName("img"); 
this.style.cssText = 'display:none !important;';
и так:
this.setAttribute('src', '')

Постоянно выдает ошибку.
Пробовал подгружать страницу через .load, но проблема в том что на странице есть изображения и пути их указаны:
src="/show/utils/barcode?code=*"
Если стиль прописан в манифесте, то коверкается страница вкладки, на которой я нахожусь.
2. Никак не отправляется на печать

если кто может подсказать, направить или поправить. помогите пожалуйста.
  • Вопрос задан
  • 573 просмотра
Пригласить эксперта
Ответы на вопрос 2
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
1. Какую ошибку?
1.2 Для манипуляции с содержимым вкладки нужно вставлять в неё content скрипты.

2. Собственно см 1.2 пункт.
Ответ написан
Rou1997
@Rou1997
У вас какая-то путаница, popup.js используется и как скрипт содержимого (content script) и в popup.html, а должно быть 2 отдельных скрипта, взаимодействие между ними реализуйте с помощью сообщений (читайте статью Messages passing).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы