рдбреЗрдЯрд╛ рд╕рдкреЛрд░реНрдЯ: рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдпреВрдЖрд░рдПрд▓

рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЗрд╕ рддрд░реАрдХреЗ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (IE 6.7) рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рд╡реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ IE8 - рдХреЗрд╡рд▓ 32kb рд╕реЗ рдЫреЛрдЯреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ)ред



рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ?



RFC 2397 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдЪрд┐рддреНрд░ (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреА рддрд░рд╣) рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

data:[<mediatype>][;base64],<data>







рд╣рдо рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ:



dataurl := "data:" [ mediatype ] [ ";base64" ] "," data

mediatype := [ type "/" subtype ] *( ";" parameter )

data := *urlchar

parameter := attribute "=" value








рдпрд╣рд╛рдБ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдбрд┐рдпрд╛рдЯрд╛рдЗрдк рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░рд╕реЗрдЯ) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рддрджрдиреБрд╕рд╛рд░, рдХреЛрдИ рднреА рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдореИрдВ рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реВрдБ?



рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдмреЗрд╕ 64-рдПрдирдХреЛрдбреЗрдб рдЪрд┐рддреНрд░ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЙрдирдХреЗ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓реЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк url рдХреЛ рд╕реАрдзреЗ mediatype рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ?



рдЖрдк рдЗрд╕реЗ рд▓рдЧрднрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

data:image/png;src=habr.png;_base64_...







рдпрд╣ рд╕рдм, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди IE рдХреИрд╕реЗ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣рдорд╛рд░реА рддрд╕реНрд╡реАрд░ рд╣реИ?



рдореИрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред

рдпрд╣ рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ рдкреАрдПрдирдЬреАрдлрд┐рдХреНрд╕ (рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реЗ рдПрдХ) рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдиреА рдЬрд╛рддреА рд╣реИред



рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ ( рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб ):

#A {

background-image: url(data:image/png;src=habr.png;_base64_...);

behavior: url(ieb64.htc);

}









рдФрд░ рдпрд╣ ieb64.htc рдХреЛрдб рд╣реИ:

< public:attach event ="ondocumentready" onevent ="ondocumentready()" />

< script type ="text/javascript" >

function ondocumentready() {

this .style.backgroundImage =

this .currentStyle

.backgroundImage

.replace(

/^url\s*\(\s*\ "?\s*data:[^;]+;src=([^;]+);.*$/,

function(all, url) {

return "
url(\ "" + url + "\")" ;

}

);

}


</ script >








рдпрд╣рд╛рдВ рдбреЗрдореЛ рджреЗрдЦреЗрдВред

рдФрд░ рдпрд╣рд╛рдБ рдЖрдк htc рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!



All Articles