Câu hỏi một số có thể cho tôi biết làm thế nào tôi có thể chuyển đổi phần tử SVG thành chuỗi?Tại sao .html() không hoạt động với bộ chọn SVG bằng jquery?
Tôi đang sử dụng canvg để chuyển đổi SVG của tôi thành hình ảnh.
nó phải được render trong một khung đầu tiên, phương pháp canvg()
được mong đợi một mã SVG STRING
:
function updateChartImage(){
canvg(document.getElementById('canvas'),expecting ` svg string`);
var canvas = document.getElementById("canvas") ;
var img = canvas.toDataURL("image/png");
img = img.replace('data:image/png;base64,', '');
$("#hfChartImg").val(img) ;
$('#img').attr({ src: img });
}
tôi đã cố gắng
$('#container svg').html() ; // it gives me an error
//Uncaught TypeError: Cannot call method 'replace' of undefined
thông báo rằng
$('#container svg')
$('#container').html() // both works fine and
Cập nhật
Tôi đang sử dụng highcharts đều có một chức năng getSVG() mà tôi có thể vượt qua các canvg() nhưng vấn đề là nó doesnt có được các bản cập nhật mới nhất, vì vậy tôi phải làm nó theo cách này, khi chạy getSVG()
chức năng tôi nhận được như sau:
Từ tài liệu của họ, "canvg là trình phân tích cú pháp SVG và trình kết xuất". Nếu bạn đã có SVG, dưới dạng chuỗi hoặc dưới dạng tham chiếu URL, bạn có thể tải nó vào canvas, sau đó sử dụng các phương thức canvas bạn mô tả để trích xuất hình ảnh. Nhưng bạn cần phải bắt đầu với SVG. Đó là những gì thư viện dành cho. –
tôi nghĩ rằng tôi nên đề cập đến tôi đang sử dụng highcharts, xin vui lòng xem cập nhật của tôi –
maby chờ đợi cho đến khi dom đã sẵn sàng? 'document.ready()' –