html2canvas 无法抓取验证码图片
html2canvas can not capture captcha images
这是 html 代码:
<div id="divPage">
div_Page
<br/>
<img id="captchaimglogin" src="https://www.emirates.com/account/english/login/login.aspx?cptLogin_captcha=86e2a65e-f170-43b6-9c87-41787ff64a35&t=88d296b19e5e8000&mode=ssl" border="0" />
</div>
<br/>
<input type="button" id="btnSave" value="Save PNG"/>
这里是 jquery 个代码:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#divPage"), {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
html2canvas($("#btnSave"), {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
});
});
这里是 jsFiddle link
如何使用 html2canvas 或其他方式捕获这些验证码图像?
根据 HTML2Canvas 文档,您可以使用 allowTaint
和 taintTest
配置来允许跨源图像。
onrendered: function(canvas) {
document.body.appendChild(canvas);
},
allowTaint: true,
taintTest: false
在 运行 html2canvas
之前的原始页面上检测并删除 captcha
。
验证码的许多实现将包含会污染 canvas 的跨域内容。污染 canvas 将自动阻止 html2canvas 捕获页面...
这是 html 代码:
<div id="divPage">
div_Page
<br/>
<img id="captchaimglogin" src="https://www.emirates.com/account/english/login/login.aspx?cptLogin_captcha=86e2a65e-f170-43b6-9c87-41787ff64a35&t=88d296b19e5e8000&mode=ssl" border="0" />
</div>
<br/>
<input type="button" id="btnSave" value="Save PNG"/>
这里是 jquery 个代码:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#divPage"), {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
html2canvas($("#btnSave"), {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
});
});
这里是 jsFiddle link
如何使用 html2canvas 或其他方式捕获这些验证码图像?
根据 HTML2Canvas 文档,您可以使用 allowTaint
和 taintTest
配置来允许跨源图像。
onrendered: function(canvas) {
document.body.appendChild(canvas);
},
allowTaint: true,
taintTest: false
在 运行 html2canvas
之前的原始页面上检测并删除 captcha
。
验证码的许多实现将包含会污染 canvas 的跨域内容。污染 canvas 将自动阻止 html2canvas 捕获页面...