25 рдлрд░рд╡рд░реА рдХреЗ рдмрд╛рдж рд╕реЗ, рдореИрдВ
рдЗрди рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ рдорд╛рд▓рд┐рдХреЛрдВ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рджреГрд╢реНрдп рдореЗрд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдореЗрд▓ рдпрд╛ рдПрд╕рдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкреГрд╖реНрда рдкрд░ рдЖ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯ рдФрд░ рдЗрд╕ рдЕрд╣рд╕рд╛рд╕ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдлрд╛рд▓рддреВ рдЙрдкрдХрд░рдг рд╣реИ, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП! рджрд░рдЕрд╕рд▓, рдЕрдм рд▓рдЧрднрдЧ рд╣рд░ рдХреБрдЫ рдорд┐рдирдЯ рдореЗрдВ рд╣рдо рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВред
рдХрдЯ рдХреЗ рддрд╣рдд рд╡рд┐рд╡рд░рдгред
рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╡рд┐рд╡рд░рдг
рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рд▓рд╛рдЗрдЯ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо Google Chrome рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ - рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдзреАрд░реЗ-рдзреАрд░реЗ
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд░рд╣рд╛ рд╣реИ ред
рдЯреНрд░реИрдлрд╝рд┐рдХ рд▓рд╛рдЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рдкрд░ рдЬрд╛рдПрдЧреА рдФрд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рд░рдВрдЧ рд╣реЛрдВрдЧреЗ:
1. рд╣рд░рд╛ - URL "1" рджреЗрддрд╛ рд╣реИред рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реАред
2. рдирд╛рд░рдВрдЧреА - рд╕реНрдерд┐рддрд┐ URL рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
3. рд▓рд╛рд▓ - URL "0" рджреЗрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ URL рджреНрд╡рд╛рд░рд╛ рд╕реБрд▓рдн рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕ рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╡рд░рдг рдпрд╛ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╢рдмреНрдж рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИред
рд╣рдорд╛рд░реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВред рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдХреЗ 3 16x16 рдЖрдЗрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЖрдЗрдП рдЙрдиреНрд╣реЗрдВ icon_green.png, icon_red.png, icon_orange.png рдХрд╣рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рдПрдХ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ: рд╣рдореЗрдВ рд╕рд╛рдЗрдЯреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдЪрд╛рд╣рд┐рдП, рд╕рд░рд▓реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрдХреНрд╕реЗрд╕ рджрд┐рдпрд╛ред
{ "manifest_version": 2, "name": ".DevilStudio", "version": "1.0", "permissions": [ "http://*/*"], "background": { "scripts": ["jquery.js","background.js"], "persistent": false }, "options_page": "options.html", "browser_action": { "default_popup": "popup.html", "default_icon": "icon_orange.png" } }
рд╣рдо рд╕реНрдерд┐рддрд┐ URL рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдорддрджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ XMLHTTPRequest рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП JQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреГрд╖реНрдарднреВрдорд┐ 2 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд░рдо рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: JQuery рдФрд░ рд╣рдорд╛рд░реА рдорддрджрд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯред рд╣рдордиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдЗрдХрди - рдирд╛рд░рдВрдЧреА рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреГрд╖реНрда рдФрд░ рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рд╕реЗрдЯ рдХрд░реЗрдВред
рд╕реНрдерд┐рддрд┐ рдкреЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
$(document).ajaxError(function() { chrome.browserAction.setIcon({path: 'icon_orange.png'}); id = setTimeout(status,5000); }); function status() { clearTimeout(id); $.post(localStorage['url_status'],{},function(data){ if ( data == 1 ) { chrome.browserAction.setIcon({path: 'icon_green.png'}); } else { chrome.browserAction.setIcon({path: 'icon_red.png'}); } id = setTimeout(status,5000); }); }; var id = setTimeout(status,5000);
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХреЗ рдЕрдЬрд╛рдХреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЕрдЧрд░ URL рдХреА рд╕реНрдерд┐рддрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЖрдЗрдХрди рдХреЛ рдирд╛рд░рдВрдЧреА рдФрд░ рдлрд┐рд░ рд╕реЗ рдкреЛрд▓ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
рдорддрджрд╛рди рдХрд╛ рд╕рдордп 5 рд╕реЗрдХрдВрдб + URL рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордпред
рдпрджрд┐ URL рд╣рдореЗрдВ 1 рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЗрдХрди рдХреЛ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ - рд▓рд╛рд▓ред
рд╣рдо рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ ['url_status'] рд╕реЗ URL рд╕реНрдЯреЗрдЯрд╕ рддрдХ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛ - рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╣рдореЗрд╢рд╛ рдПрдХ рдирд╛рд░рдВрдЧреА рд╕рд░реНрдХрд▓ рджреЗрдЦреЗрдВрдЧреЗред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрдзрд╛рд░реЗрдВрдЧреЗред
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреЗрдЬ
<!DOCTYPE html> <html> <head> </head> <body> <p> URL : <input id="url_status" type="text" /></p> <p> URL : <input id="url_window" type="text" /></p> <p><input type="submit" value="" id="b" /></p> <script src="j.js"></script> </body> </html>
рдЪреВрдВрдХрд┐, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ HTML рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреЗрдЬ рдХреЗ рдЕрдВрджрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рдо рддрд░реНрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ j.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред
function restore() { document.getElementById('url_status').value = localStorage['url_status']; document.getElementById('url_window').value = localStorage['url_window']; } function save() { localStorage['url_status'] = document.getElementById('url_status').value; localStorage['url_window'] = document.getElementById('url_window').value; } document.getElementById('b').onclick=function() { save(); }; restore();
рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ 2 рдХрд╛рд░реНрдп рд╣реИрдВ - рдЬрдм рдЖрдк рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рд╕реЗ рдЕрдкрдирд╛ рдлреЙрд░реНрдо рднрд░рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдХреНрд░рдорд╢рдГ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
рдкреЙрдк рдЕрдк рд╡рд┐рдВрдбреЛ
<!DOCTYPE html> <html> <head> </head> <body> <iframe style="width: 500px;height:400px;" frameborder="no" scrolling="no"></iframe> <script src="popup.js"></script> </body> </html>
рдкреЙрдкрдЕрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣ рдлреНрд░реЗрдо рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рддрд░реНрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
if (localStorage['url_window']) { document.getElementsByTagName('iframe')[0].setAttribute('src',localStorage['url_window']); }
рд╣рдорд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рддреИрдпрд╛рд░ рд╣реИ! рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ Google Chrome рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╢реЗрд╖ рд╣реИ:
- рд╕реЗрдЯрд┐рдВрдЧ-> рдЯреВрд▓реНрд╕-> рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдЬрд╛рдПрдВ
- рдЪреЗрдХрдмреЙрдХреНрд╕ "рдбреЗрд╡рд▓рдкрд░ рдореЛрдб" рдЪрд╛рд▓реВ рдХрд░реЗрдВ
- "рдбрд╛рдЙрдирд▓реЛрдб рдЕрдирдкреИрдХреНрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
рд╣рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП - рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝рд╛ рдЖрдЗрдХрди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ :-)
рдпрджрд┐ рд╕рдм рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛ рдЧрдпрд╛, рддреЛ рд╣рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдирд╛рд░рдВрдЧреА рд╕рд░реНрдХрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рд╕рд╣реА рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ-> рд╕реЗрдЯрд┐рдВрдЧреНрд╕, URL рд╕реНрдерд┐рддрд┐ рднрд░реЗрдВ (рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ 1 рдпрд╛ рдХреБрдЫ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рд╕рд╣реЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рд╡реЙрдЗрд▓рд╛, 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж, рд╕рд░реНрдХрд▓ рдХреЛ рд╣рд░рд╛ рдпрд╛ рд▓рд╛рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬрдм рдЖрдк рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдФрд░ рдпрд╣рд╛рдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╡реЗрдм рдкреЗрдЬ рдмрдирд╛рддреЗ рд╕рдордп рдЖрдк рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреА рдХрд▓реНрдкрдирд╛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдЗрддрдиреА рд╕рд╕реНрддреА рдЯреНрд░реИрдлрд┐рдХ рд▓рд╛рдЗрдЯ рд╣реИ!
PS рдЙрджрд╛рд╣рд░рдг рд╕реЗ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ
рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз
рд╣реИрдВ ред