Я видел некоторые старые вопросы, похожие на мои, но мне любопытно, есть ли новые решения.
Предпосылка того, что я пытаюсь сделать , состоит в том, чтобы предоставить пользователю образец приглашения по электронной почте. Он включает в себя некоторый текст, и мы также хотели бы, чтобы там было изображение.
В настоящее время мой код настроен следующим образом ...
https://jsfiddle.net/nawfk4ue/
HTML
<div id="code-to-png" class="container">
<div class="row-full">
<!-- Row 1 -->
<div class="col-md-6 fundraising-stats">
<h4>Fundraising Stats</h4>
<p>I have raised 66%</p>
</div>
<div class="col-md-3 fundraising-stats">
<h4>My Goal:</h4>
<p>$6,000</p>
</div>
<div class="col-md-3 fundraising-stats">
<h4>Amount Raised:</h4>
<p>$4,000</p>
</div>
</div>
</div>
<div class="sampleEmailText1">
<p>Everyone! I’m so close to reaching my ! I’ve raised $XX of my $XX target — </p>
<p>will you help me hit my goal? </p>
<P>Donation link in my bio.</p>
<a href="#" class="link-canvas">
<div class="canvas"></div>
</a>
<p>test after canvas to see if copied</p>
<input type="button" value="Copy to clipboard" class="btn primary-btn copyBtn1"/>
</div>
JS / jQuery
$(document).ready(function() {
/* Function runs to generate the image, its hidden by default */
html2canvas($("#code-to-png"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
}
});
$('[class*=copyBtn]').click(function () {
$("canvas").appendTo(".canvas");
let classNum = this.className.replace(/\D/g, '');
let classSelector = ".sampleEmailText" + classNum;
const str = document.querySelector(classSelector);
const range = document.createRange();
range.selectNode(str);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
});
});
Теперь текст всех копий просто отлично но холст и якорная ссылка, которая его окружает, не .
Любое понимание того, возможно ли достичь?
Мне было интересно, можно ли назначить вывод холста img sr c как-нибудь возможно?