Возможно, вы поняли это, но пробовали ли вы строку кода, используя одинарные кавычки? Я использую тот же код с одинарными кавычками, и он отлично работает.
$('#graph').html2canvas();
Что касается вашего второго вопроса, можете ли вы уточнить, что вы имеете в виду, сохранив изображение в другом месте? Если я понимаю, о чем вы спрашиваете, если вы используете « jquery.plugin.html2canvas.js », вам нужно отредактировать строку «$ canvas.css» в этом файле, чтобы указать где вы хотите добавить свой объект холста.
Один из вариантов, который вы можете рассмотреть, - это добавить его к телу, но установите для css значение «display: none», чтобы объект не появлялся. Затем, после свойств css, вы можете добавить свою собственную функцию для управления объектом canvas.
$canvas.css({width: '500px', height: '500px', display:'none'}).appendTo(document.body);
$canvas.attr('id', 'canvasObj');
manipulateCanvasFunction(document.getElementById('canvasObj'));
Это отправляет весь объект canvas в вашу «manageulateCanvasFunction», и вы можете делать с объектом canvas все, что захотите.
Вы можете проверить эту ветку вопросов для некоторых других идей.