Jsdom: CSSStyleSheet рдХреЗ рдкрд╛рд╕ рд╕реНрд╡рд╛рдореА рдпрд╛ Href рдЧреБрдг рдирд╣реАрдВ рд╣реИрдВред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЬрдире░ 2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: jsdom/jsdom

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА CSSOM рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд╕реНрд╡реАрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ PhatomJS рдХреЗ рдмрдЬрд╛рдп jsdom рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTML рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ CSSStyleSheet рдкрд░ рдЗрди рджреЛ рдЧреБрдгреЛрдВ рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛

рдореИрдВ рдЬреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрд╕рд╕реЗ рд▓реЗрд╡рд▓ 2 / style.js рдореЗрдВ рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ / рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдбрдмреЗрд╕ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

function evaluateStylesheet(data, sheet, baseUrl) {
  // this is the element
  var newStyleSheet = cssom.parse(data);
  var spliceArgs = newStyleSheet.cssRules;
  spliceArgs.unshift(0, sheet.cssRules.length);
  Array.prototype.splice.apply(sheet.cssRules, spliceArgs);
  scanForImportRules.call(this, sheet.cssRules, baseUrl);

  // Add references to `this` and `baseUrl`.
  sheet.href = baseUrl;
  sheet.ownerNode = this;

  this.ownerDocument.styleSheets.push(sheet);
}

рд╡реИрд╕реЗ рднреА, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

bug css important or easy

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@lexoyo рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ ...

рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ, HTMLStyleElement-impl.js, рдЬреЛ рд╣реЗрд▓реНрдкрд╢реАрдЯ рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ () рдХреЛ createStylesheet () рдХреЙрд▓ рдХрд░рддреА рд╣реИред рдпрд╣рд╛рдБ рдХрдЪрд░рд╛ рдФрд░ TODO рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп "cssom" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ (рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП - рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд┐ рдЗрд╕ рд╕рдордп рдХреИрд╕реЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдЧреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рд╕рдордп рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ!

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдЪреНрдЫреА рдкрдХрдбрд╝ред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА рдЖрдкрдХреЗ рдлрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдЕрдзрд┐рдХ рдкреНрд░рд┐рдВрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреНрд░реЙрд╕-рдСрд░рд┐рдЬрдирд▓ рдиреАрддрд┐рдпрд╛рдВ рддрдп рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЧреИрд░-рд╕рдорд╛рди-рдореВрд▓ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ document.styleSheets рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ jsdom рдХрд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдореВрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдирдорд╕реНрдХрд╛рд░
рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛, рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╣рдХ рдЕрднреА рднреА рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ?
рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА
рдзрдиреНрдпрд╡рд╛рдж !

@lexoyo рдореБрдЭреЗ рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ ...

рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ, HTMLStyleElement-impl.js, рдЬреЛ рд╣реЗрд▓реНрдкрд╢реАрдЯ рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ () рдХреЛ createStylesheet () рдХреЙрд▓ рдХрд░рддреА рд╣реИред рдпрд╣рд╛рдБ рдХрдЪрд░рд╛ рдФрд░ TODO рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп "cssom" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ (рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП - рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд┐ рдЗрд╕ рд╕рдордп рдХреИрд╕реЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдЧреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рд╕рдордп рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kentmw picture kentmw  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cg433n picture cg433n  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

khalyomede picture khalyomede  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

josephrexme picture josephrexme  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kilianc picture kilianc  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ