FroggyWeb
4/19/2015 - 9:05 AM

svg firefox тег base

svg firefox тег base

//Проблему могут помочь решить абсолютные пути для xlink:href и прочего в svg.
//То есть вместо 

//<use xlink:href="#test-use"></use>

//делать 
//<use xlink:href="http://example.com/path/to/page#test-use"></use>

//Это, конечно, не удобно, но это можно делать силами сервера.
//В простом случае это можно делать и на стороне клиента, после загрузки страницы. Например, починить все xlink:href можно так:
(function(){
  var uses = document.querySelectorAll('use')
  for (var i = 0; i < uses.length; i++) {
    var use = uses[i];
    var href = use.getAttribute('xlink:href');
    if (href.indexOf('#') == 0)
      use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', location.href + href);
  }
  
})();

// или на сервере [[*id:is=`1`:then=``:else=`xml:base="[[++site_url]][[~[[*id]]]]"`]]