Я создал страницу, которая рисует различные элементы SVG, используя библиотеку Raphaeljs, но у меня возникают некоторые проблемы в Safari.
Я рисую изображения и использую обтравочный контур для маскировки определенных областей.Пользователь может затем щелкнуть «сквозь» эти изображения для других изображений, размещенных позади.
Это работает, как и ожидалось, в Firefox и Chrome, и даже IE.Но в Safari я не могу кликать по изображениям.Кажется, что обтравочный контур не работает в Safari.
В этом вопросе я обнаружил, что для типа контента в Safari нужно установить значение "application / xhtml + xml" какон не использует синтаксический анализатор html5.
Я попытался предложить это в верхней части моей страницы ...
<?php
header('Content-type: application/xhtml+xml');
?>
... но браузер просто выводит htmlфайл.
Мне просто интересно, какой тип документа мне нужен, чтобы рисование сафари встраивалось в SVG правильно, например, в chrome и firefox?
Вот как я рисую свои SVG-изображения, и это работаетштраф в хром и Firefox
function myDraw(path, url, x, y, w, h, id){
//create clipPath Element
var clippath = document.createElementNS("http://www.w3.org/2000/svg","clipPath");
clippath.setAttribute("id", id);
svgcanv.appendChild(clippath);
//draw the path
var cp=paper.path(path).translate(x, y).attr({stroke: 0});
$(cp.node).appendTo('#'+id+'');
//assoc clipPath with image
var img = paper.image(url,x,y,w,h);//.attr({fill:"#111",opacity:0.7});
img.node.setAttribute("clip-path","url(#"+id+")");
img.node.setAttribute("class",id);
}