Mam obecnie stronę internetową za pomocą D3 i chciałbym, aby użytkownik miał możliwość zapisania SVG jako pliku SVG. Używam crowbar.js do tego, ale działa tylko na chrome. Nic nie dzieje się w Safari, a IE daje odmowę dostępu na metodę click()
używaną w crowbar.js do pobrania pliku.Jak zapisać/wyeksportować plik SVG po utworzeniu SVG w D3.js (IE, safari i chrome)?
var e = document.createElement('script');
if (window.location.protocol === 'https:') {
e.setAttribute('src', 'https://raw.github.com/NYTimes/svg-crowbar/gh-pages/svg-crowbar.js');
} else {
e.setAttribute('src', 'http://nytimes.github.com/svg-crowbar/svg-crowbar.js');
}
e.setAttribute('class', 'svg-crowbar');
document.body.appendChild(e);
Jak pobrać plik SVG oparte na elemencie SVG na mojej stronie internetowej w Safari, IE i Chrome?
Dziękuję za odpowiedź! To pobiera svg dla mnie, chociaż wszystko idzie na czarno, a kolorystyka jest bardzo dziwna. Dlaczego to? Możesz zobaczyć, co mam na myśli na mojej stronie, zastosowałem twój sugerowany kod: http://servers.binf.ku.dk/hemaexplorerbeta/ - Po prostu kliknij "wyślij", a następnie "wyeksportuj wykres". Dziękuję bardzo – Vanquiza
Ten przykład jest prosty. Jeśli używasz stylu css przez zewnętrzne pliki css według elementu linku, link svg i arkusz stylów został uszkodzony. Tak więc ten problem zostanie rozwiązany przez dołączenie danych stylu do wbudowanego svg. – defghi1977
"Ten problem zostanie rozwiązany przez dołączenie danych stylu do wbudowanego svg." Czy możesz mi to wytłumaczyć w inny sposób? Nie do końca rozumiem. – Vanquiza