рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди: рдореИрд╕реЗрдЬрд┐рдВрдЧ

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐



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



рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рддреАрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдУрдкреЗрд░рд╛ 11 рдЕрд▓реНрдлрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдЗрди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

  1. рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ
  2. рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдХ рдкреЙрдкрдЕрдк рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
  3. рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдФрд░ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдереЛрдбрд╝реА рдорджрдж рдХреЗ рд╕рд╛рде) рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ


рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп



рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкреЗрд░рд╛ рдкреЛрд╕реНрдЯрдорд╛рд╕реЗрдЬ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:



opera.extension.broadcastMessage("Hello there");
      
      





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



 var thecatch; opera.extension.onmessage = function(event) { thecatch = event.data; // event.data       "Hello there" } }
      
      





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



рд╣рдо рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред



рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рд▓реЛрдб рдИрд╡реЗрдВрдЯ рд╣реБрдХ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ setupConnection рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЖрдк рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ (рдЙрдкрдХрд░рдг> рдЙрдиреНрдирдд> рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓) рдореЗрдВ opera.postError рд╡рд┐рдзрд┐ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



 window.addEventListener("load", setupConnection, false); function setupConnection() { //    ,      opera.extension.onconnect = function(event) { //   ,     (     ) event.source.postMessage("something"); //    Error Console opera.postError("sent message to injected script"); } //   opera.extension.onmessage = function(event){ //   (   )  Error Console opera.postError("This is what I got from injected script: "+event.data); } }
      
      





рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:



 opera.extension.onconnect = function(event) { event.source.postMessage("something"); opera.postError("sent message to injected script"); }
      
      





рдСрдирдХрдиреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдХреЛ рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд░реА рд╣реБрдИ рд╣реИ, рдСрдирдХрдиреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред



рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдСрдирдХрдиреЗрдХреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЗрд╡реЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛ рд░рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╡рд╛рдкрд╕ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИред рд╕реЛрд░реНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрд╕ рд╕рдВрджреЗрд╢ рдкреЛрд░реНрдЯ рдХреЛ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╡реЗрдВрдЯ "source.postMessage () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдХреБрдЫ "рднреЗрдЬрдХрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрд░рд░ рдХрдВрд╕реЛрд▓ рдХреЛ рдПрдХ рдЫреЛрдЯрд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рднреЗрдЬрддреЗ рд╣реИрдВред



рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдВ:



 opera.extension.onmessage = function(event){ //    . var message = event.data; opera.postError("Background script sent: " + message); //   . var reply = "Background script's message only had " + (message ? message.length : 0) + " characters."; event.source.postMessage(reply); };
      
      





рдЬрдм рд╕рдВрджреЗрд╢ рдПрдореНрдмреЗрдбреЗрдб рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдСрдирд╕рдореЗрдЬ рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╕рдВрджреЗрд╢ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрджреЗрд╢ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП opera.postError рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред



рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо event.source рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬреЗрдВред рдпрд╛рдж рд░рдЦреЗрдВ: Event.source рд╣рдореЗрд╢рд╛ рд╕рдВрджреЗрд╢ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рднреЗрдЬреА рдЬрд╛ рд╕рдХрддреА рд╣реИред



рдЕрдЧрд▓рд╛ рдХрджрдо рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реИред рдЖрдЗрдП рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдПрдХ рдЕрдиреНрдп рдХреЛрдб рджреЗрдЦреЗрдВ:



 //   opera.extension.onmessage = function(event){ //   (   )  Error Console opera.postError("This is what I got from injected script: "+event.data); }
      
      





рдпрд╣рд╛рдВ, рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рдордп, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрджреЗрд╢ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рд░рд╕реАрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдирд╛ рднреЗрдЬрддрд╛ рд╣реИред



рддреЛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:



рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ (рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЧреВ рд╣реЛ), рддреЛ рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВред рдЖрдкрдХреЛ рдЕрдВрдЬреАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред 1:

рдЫрд╡рд┐

рдЪрд┐рддреНрд░ 1 : рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬреА рдЧрдИрдВред



рд╣рдордиреЗ рдЬрд╛рдВрдЪ рдХреА рдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдФрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдкреЙрдкрдЕрдк рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдореИрд╕реЗрдЬрд┐рдВрдЧ



рд╣рдо рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, HTML рдлрд╛рдЗрд▓реЗрдВ, config.xml рдФрд░ рдПрдХ рдЖрдЗрдХрди рд╣реИред



рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдпреВрдЖрдИ рддрддреНрд╡ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдмрдЯрди , рддрд╛рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рди рдХрд░реЗрдВред рдЪрд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдЬреЗрдПрд╕:



 opera.extension.onconnect = function(event){ event.source.postMessage("sending something"); opera.postError("sent message to popup"); }
      
      





рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕ рдХреЛрдб рдХреЛ рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдХреЛрдИ рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдЧрд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛред рдлрд╝рдВрдХреНрд╢рди рдкреЙрдкрдЕрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ "рдХреБрдЫ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ" рд╕рдВрджреЗрд╢ рдФрд░ рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ "рднреЗрдЬрд╛ рдЧрдпрд╛ рд╕рдВрджреЗрд╢ рдкреЙрдкрдЕрдк" рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред



рдЕрдм рдкреЙрдкрдЕрдк рдкреЗрдЬ рджреЗрдЦреЗрдВ:



 <script> window.addEventListener("load", function(){ opera.extension.onmessage = function(event){ event.source.postMessage("do whatever you want with this message"); opera.postError("sent from popup to background script"); } }, false); </script>
      
      





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



рдлрд┐рд░ рд╕реЗ рд╣рдо background.js рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рджреЗрдЦрддреЗ рд╣реИрдВ:



 opera.extension.onmessage = function(event){ opera.postError("This is what I got from injected script: " + event.data); }
      
      





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



рддреЛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:



рд╕рдм рдХреБрдЫ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдо рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреЗ рд╣реИрдВред



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

рдЫрд╡рд┐

рдЪрд┐рддреНрд░ 2 : рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрдВрд╕реЛрд▓ рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬреА рдЧрдИрдВред



рдкреЙрдкрдЕрдк рдФрд░ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдореИрд╕реЗрдЬрд┐рдВрдЧ



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



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



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



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╡реИрд╢реНрд╡рд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓ рдкреЛрд░реНрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдмрд╛рдж рдореЗрдВ рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рдСрдирдХрдиреЗрдХреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рджреЗрдЦреЗрдВ:



 opera.extension.onconnect = function( event ){ if( port ) event.source.postMessage( "Respond to the port", [port] ); }
      
      





рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп, рдпрд╣ ond рдкреЛрд░реНрдЯ рдХреЗ рдкреНрд░рддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ тАЩрд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧрд╛ред рд╣рдо рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкреЛрд░реНрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдЕрднреА рддрдХ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рд╕рдВрджреЗрд╢ рдЙрд╕реА рддрд░рд╣ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕рд╛ рд╡рд╣ рд╣реИред



рдЕрдм рдЖрдЗрдП рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЕрдорд▓:



 var channel = new MessageChannel(); opera.extension.postMessage( "Respond to this immediately", [channel.port2] );
      
      





рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдореЗрдВ рджреЛ рдкреЛрд░реНрдЯ рд╣реЛрдВрдЧреЗ, рдФрд░ рдЗрди рджреЛ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рджреВрд╕рд░реЗ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдХреЗ рджреВрд╕рд░реЗ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреЛрд╕реНрдЯрдореЗрд╕реЗрдЬ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред



рдЖрдЗрдП рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ:



 opera.extension.onmessage = function( event ) { if (event.ports) port = event.ports[0]; }
      
      





рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЕрдм рджреВрд╕рд░реЗ рдЪреИрдирд▓ рдкреЛрд░реНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИред [0] рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдкреЛрд░реНрдЯ рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЕрдм рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░, рдСрдирдХрдиреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



 opera.extension.onconnect = function( event ){ if( port ){ event.source.postMessage( "Respond to the port", [port] ); } }
      
      





рдЕрдм, рдкреЛрд░реНрдЯ рдЪрд░ рдХрд╛ рдорд╛рди рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдкреЛрд░реНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИред



рдкреЙрдкрдЕрдк рдлрд╝рд╛рдЗрд▓ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:



 opera.extension.onmessage = function( event ){ if( event.ports ){ opera.postError( "Responding to port" ); event.ports[0].postMessage( "Hi from popups side!" ); } }
      
      





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



 channel.port1.onmessage = function( event ){ opera.postError("Here is what i got in the injected script for port1: " + event.data); }
      
      





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



рддреЛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:



рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореИрдЪрдореЗрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдкрд╣рд▓реЗ рд╕рджрд╕реНрдп рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддреА рд╣реИ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬреЗрдХреНрдЯ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ)ред рдкреНрд░рддрд┐рднрд╛рдЧреА рдореИрдЪрдореЗрдХрд░ рдХреЛ рдЕрдкрдирд╛ рдирдВрдмрд░ (рджреВрд╕рд░рд╛ рдкреЛрд░реНрдЯ) рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдЪрдореЗрдХрд░ рдмрдЪрд╛рддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдкреНрд░рддрд┐рднрд╛рдЧреА (рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ) рдореИрдЪрдореЗрдХрд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░, рдореИрдЪрдореЗрдХрд░ рдкрд╣рд▓реА рдкреНрд░рддрд┐рднрд╛рдЧреА рдХреА рд╕рдВрдЦреНрдпрд╛ (рдПрдореНрдмреЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЛ рджреВрд╕рд░реЗ рдкреНрд░рддрд┐рднрд╛рдЧреА (рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ) рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред рдЕрдм рдореИрдЪрдореЗрдХрд░ рдХреЛ рд╕рдореАрдХрд░рдг рд╕реЗ рд╣рдЯрд╛рдХрд░ рджреЛрдиреЛрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕реАрдзреЗ рд╕рдВрд╡рд╛рдж рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛



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



рдПрдкреАрдЖрдИ рд▓рд┐рдВрдХ



рдкреГрд╖реНрдарднреВрдорд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдмрдВрдзрд┐рдд рддрд░реАрдХреЗ

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддрд░реАрдХреЗ

рдкреЙрдкрдЕрдк рддрд░реАрдХреЗ



All Articles