рдкреЛрдХреНрдХреА рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕: рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб

рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдкреЛрд▓реНрдХреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдмреАрдЯрд╛ рдореЛрдб рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЖрдкрдХреЛ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ( рдпрд╣рд╛рдВ рдПрдХ рд╕рдореАрдХреНрд╖рд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ 7 рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ - рд╡рд┐рд╕реНрдЯрд╛ рдФрд░ рдПрдХреНрд╕рдкреА рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореИрдХ рдУрдПрд╕ рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рднреАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрдХреНрдХреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдлреАрдЪрд░реНрдб рдкреЛрдХреАрдЬрд╝ рд╕реВрдЪреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреАрдореЗрд▓ рдпрд╛ рдЯреНрд╡реЗрдХреА) рд╕реЗ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдпрд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд░рдЪрдирд╛


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ Google Chrome рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рдХрд┐рд╕реА рднреА рдЖрд╡реЗрджрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдкрд╣рд▓рд╛ рдХрджрдо


рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ PokkiSDK рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдореБрдлреНрдд рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ - рдкреЛрдХреНрдХреА рдПрдЯрдо, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХрд┐рд╕реА рднреА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЖрд░реНрдХрд╛рдЗрд╡ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВред
рдЦреБрд▓рдиреЗ рдХрд╛ рд╕рдордпред рдЬрд╕рди , рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:

{ "name": "Pokki Atom", "version": "1.0", "icon-19x19": "img/icon-19x19.png", "icon-29x29": "img/icon-29x29.png", "icon-42x42": "img/icon-42x42.png", "description": "A basic foundation for which to build a Pokki.", "popup": "popup.html", "background_page": "background.html" } 

рдирд╛рдо рдФрд░ рд╡рд┐рд╡рд░рдг рдЧреБрдг рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо рдФрд░ рд╡рд┐рд╡рд░рдг рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдЗрдХрди -19x19 / 29x29 / 42x42 - рд╕рдВрдмрдВрдзрд┐рдд рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдЖрдЗрдХрди,
рдкреЙрдкрдЕрдк - рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо, рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб_рдкреЗрдЬ - рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкреЗрдЬ рдХреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ:

 { "name": "Hello Pokki!", "description": "A simple Hello World! style Pokki.", "icon-19x19": "img/icon-19x19.png", "icon-29x29": "img/icon-29x29.png", "icon-42x42": "img/icon-42x42.png", "popup": "popup.html", "background_page": "background.html" } 

рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╣реЗрдЬреЗрдВред

рдЯреЗрд╕реНрдЯ рд░рди


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╢реЙрд░реНрдЯрдХрдЯ рдвреВрдВрдврдХрд░ рдкреЛрдХреА рдирд┐рд░реНрдорд┐рдд рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ:

рдЫрд╡рд┐

рдкрд░реНрдпрд╛рд╡рд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА:

рдЫрд╡рд┐

рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдореЗрдВ рдирдЯ рдЖрдЗрдХрди рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╣рдо рдЕрдкрдиреЗ рдирдП рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рдорд╛рд░реНрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХрд╛ рдЖрдЗрдХрди рдкреЛрдХреНрдХреА рдкреИрдирд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

рдЫрд╡рд┐

рдкреИрдирд▓ рдореЗрдВ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓реЗрдВ:

рдЫрд╡рд┐

рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдкреЙрдкрдЕрдк


рдЪреВрдВрдХрд┐ рдкреЙрдкрдЕрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ HTML рдкреЗрдЬ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ CSS (CSS3 рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреЛрд▓реНрдХреА рдХреНрд░реЛрдорд┐рдпрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╡реЗрдмрдХрд┐рдЯ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреЙрдкрдЕрдк рд╡рд┐рдВрдбреЛ рдХрд╛ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рд╕реЗрдЯ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, css / default.css рд╢реИрд▓рд┐рдпрд╛рдБ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд╢рд░реАрд░ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:

 body { width: 200px; height: 200px; background-image: -webkit-gradient( linear, left bottom, left top, from(#2c2c2c), to(#444444) ); } 

рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЖрдЗрдХрди рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ "Relaunch" рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдЕрдм рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝рдирд╛


рдЖрдЗрдП рдкреЙрдкрдЕрдк рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред Js / popup.js рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдЗрд╕рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рдЕрдм рд╣рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдЗрд╡реЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ "рд╣реЗрд▓реЛ, рдкреЙрдХреНрдХреА!" рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ onLoad () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

 function onLoad() { console.log('Pop-up page is loaded.'); // Perform pop-up page initiation and configuration // Create a string "Hello Pokki!" var textNode = document.createTextNode("Hello Pokki!"); // Create a DIV for the string, and add it var div = document.createElement("div"); div.setAttribute("id", "hello"); div.appendChild(textNode); // Add the new div to the DOM document.body.appendChild(div); // Time to restore any state } 

рдлрд┐рд░ рдЗрд╕ рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рд╢реИрд▓рд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ (рдКрдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрддрд╛рдИ рдЧрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП):

 #hello { padding-top: 20px; text-align: center; color: #222; text-shadow: 0px 2px 3px #555; font: 24px Tahoma, Helvetica, Arial, Sans-Serif; } 

рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:

рдЫрд╡рд┐

рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВ


рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ . json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдкреЙрдкрдЕрдк рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдкреГрд╖реНрда рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЕрдкрдбреЗрдЯ рдХрд╛рдЙрдВрдЯрд░ (рдкреЛрдХреНрдХреА рдмреИрдЬ) рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рд╣реИред рдХрд╛рдЙрдВрдЯрд░ 1 рд╕реЗ 999 рддрдХ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИред js / background.js рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ:

 var endBadge = false; pokki.addEventListener('popup_shown', function() { // Show the badge! updateBadge(); }); pokki.addEventListener('popup_hidden', function() { // Clear the badge endBadge = true; }); var num = 1; var numMin = 1; var numMax = 999; function updateBadge() { // Stop showing the badge? if (endBadge) { pokki.removeIconBadge(); endBadge = false; num = numMin; } else { // Reset back to min if the number is too large if (num > numMax) { num = numMin; } // Set the badge pokki.setIconBadge(num); num++; // Loop setTimeout(updateBadge, 100); } } 

рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЬрдм рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдЦреБрд▓рддреА рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдЗрдХрди рдкрд░ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЖрдЗрдХрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдпрд╣реА рд╕рдм рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдиреЗ рдкреЛрдХреНрдХреА рдХреЗ рддрд╣рдд рд╡рд┐рдХрд╛рд╕ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦ рд▓реА рд╣реИрдВ!
рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╕рдВрджрд░реНрдн:

Source: https://habr.com/ru/post/In127073/


All Articles