Всем доброго дня! Хелп пруфы и мастера.
Пишу расширение для 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. Никак не отправляется на печать
если кто может подсказать, направить или поправить. помогите пожалуйста.