Although the rel element is set to stylesheet the created link element does not specify the MIME type of the linked resource.
The MIME type is set to text/css similar to the case when an style element is created. This change also syncs with the addStylesUrl.js behavior where the type attribute is set.
IE9 will actually drop certain things (like media queries) from the
cssText property when it is read back out. To fix, store the raw css
text in a separately managed array, and use that to form the entire
string that should be set on the style element's cssText property.
Fixes#39.
Now, instead of assuming a constant length (d'oh), the boundaries of each
style block will be demarkated with a start/end token. When a style is updated,
the CSS block contents in between the boundaries is replaced. If a style is
removed, the entire section is removed. New sections are added to the bottom.
This adds the ability for the style-loader to re-use a single <style>
element reference when adding/removing styles from the page. This is
particularly important when you want to use style-loader with a browser
like IE9, which enforces a hard-limit on the # of style tags allowed on
the page at any given point.
This is added as a new option `singleton`, and is automatically turned
on if the browser is determined to be IE9.
This ensures that items with the same id are only added once.
i. e. multiple css file and `@import` the same base css file and it's only added once to the DOM.
webpack/css-loader#17