У меня возникла проблема при попытке использовать элементы маркера SVG в визуализации на основе SVG. Я добавляю свои изменения в веб-приложение, которое включает базовый тег на каждой странице, поэтому любые ссылки на файлы CSS, файлы javascript и т.д. Могут быть относительными.
У меня есть пример кода ниже, который воспроизводит проблему. Существует элемент линии и определенный элемент маркера. Элемент маркера ссылается на строку в свой атрибут "маркер-конец", через uri и id маркера. Без базового тега стрелка отображается в порядке. С базовым тегом он не отображается. Причина в том, что базовый тег изменяет способ разрешения URL-адресов браузером.. даже для простого URL-адреса, основанного на идентификаторе, указанного в атрибуте конца маркера строки.
Есть ли способ обойти эту проблему, не удаляя базовый тег?
Я не могу удалить его, потому что его использование довольно укоренилось в продукте, над которым я работаю. Мне нужно поддерживать Firefox, Chrome и IE9 + для моего webapp. Проблема с Firefox и хромом. IE работает отлично (т.е. Отображает маркеры стрелок).
<html>
    <head>
    <base href=".">
    <style>
    .link { stroke: #999; stroke-opacity: .6; }
    marker#arrow { fill: black; }
    </style>
</head>
<body>
    <svg width="100%" height="100%">
        <defs>
            <marker id="arrow" viewBox="0 -5 10 10" refX="0" refY="0" markerWidth="20" markerHeight="20" orient="auto">
                <path d="M0,-5L10,0L0,5"></path>
            </marker>
        </defs>
        <line x1="100" y1="100" x2="333" y2="333" marker-start="url(#arrow)" class="link"></line>
    </svg>
</body>
</html>
