core.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import env from '../core/env.js';
  2. var urn = 'urn:schemas-microsoft-com:vml';
  3. var win = typeof window === 'undefined' ? null : window;
  4. var vmlInited = false;
  5. export var doc = win && win.document;
  6. export function createNode(tagName) {
  7. return doCreateNode(tagName);
  8. }
  9. var doCreateNode;
  10. if (doc && !env.canvasSupported) {
  11. try {
  12. !doc.namespaces.zrvml && doc.namespaces.add('zrvml', urn);
  13. doCreateNode = function (tagName) {
  14. return doc.createElement('<zrvml:' + tagName + ' class="zrvml">');
  15. };
  16. }
  17. catch (e) {
  18. doCreateNode = function (tagName) {
  19. return doc.createElement('<' + tagName + ' xmlns="' + urn + '" class="zrvml">');
  20. };
  21. }
  22. }
  23. export function initVML() {
  24. if (vmlInited || !doc) {
  25. return;
  26. }
  27. vmlInited = true;
  28. var styleSheets = doc.styleSheets;
  29. if (styleSheets.length < 31) {
  30. doc.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)');
  31. }
  32. else {
  33. styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)');
  34. }
  35. }