Jquery html2canvas在$modalInstance关闭之前运行
我目前正在Angular应用程序中实现一个反馈模式,用于拍摄用户当前页面的“屏幕截图”。但是,Jquery html2canvas在$modalInstance关闭之前运行,jquery,angularjs,modal-dialog,html2canvas,Jquery,Angularjs,Modal Dialog,Html2canvas,我目前正在Angular应用程序中实现一个反馈模式,用于拍摄用户当前页面的“屏幕截图”。但是,html2canvas函数在my$modalInstance关闭之前执行。本质上,我想捕捉模态窗口“下面”的内容 我的逻辑可能太简单了: app.controller('feedbackCtrl', function($scope, $modalInstance) { $scope.feedback = { choice: null }; // Promise that $moda
html2canvas
函数在my$modalInstance
关闭之前执行。本质上,我想捕捉模态窗口“下面”的内容
我的逻辑可能太简单了:
app.controller('feedbackCtrl', function($scope, $modalInstance) {
$scope.feedback = {
choice: null
};
// Promise that $modalInstance is finished
$modalInstance.result.then(function() {
if($scope.feedback.choice) {
var target = $('body');
html2canvas(target, {
onrendered: function(canvas) {
var img = canvas.toDataURL();
window.open(img);
}
});
}
});
angular.extend($scope, {
ok: function () {
$modalInstance.close();
},
cancel: function() {
$modalInstance.dismiss('cancel');
}
});
});
关于如何确保my$modalInstance
在html2canvas()
触发之前完成其执行,有什么建议吗
提前谢谢 在调用
html2canvas()
之前,我可以通过jQuery以一种黑客的方式简单地从DOM中删除模式窗口来解决这个问题:
我对这个解决方案不感兴趣,但它现在还可以工作。我能够用jQuery以一种黑客的方式解决这个问题,只需在调用
html2canvas()之前从DOM中删除模式窗口即可:
我对这个解决方案不感兴趣,但它目前仍然有效。你能指导我如何在你的角度项目中引用html2canvas吗?你能指导我如何在你的角度项目中引用html2canvas吗
$modalInstance.result.then(function() {
if($scope.feedback.choice) {
$('.modal-content').remove(); // Removes the modal from the DOM
var target = $('body');
html2canvas(target, {
onrendered: function(canvas) {
var img = canvas.toDataURL();
window.open(img);
}
});
}
});