我正在使用JQuery Singature,并且遇到以上IE版本的此错误消息:
Message: Canvas element does not support 2d context. jSignature cannot proceed.
更新:在flashcanvas.js中添加(;)之后
问题是一样的:
讯息:预期为';'
flashcanvas.swf
Code: 0
我已经从以下位置下载了
flashcanvas.swf
和flashcanvas.js
:https://github.com/brinley/jSignature/blob/master/libs/flashcanvas.js
https://github.com/brinley/jSignature/blob/master/libs/flashcanvas.swf
我将这两个文件放在名为Script的文件夹中。
是否包含flashcanvas.swf无关紧要我需要做什么?
这里的JavaScript
<!--[if lte IE 9]>
<script type="text/javascript" src="Script/flashcanvas.js"></script>
<script type="text/javascript" src="Script/flashcanvas.swf"></script>
<![endif]-->
<script type="text/javascript" src="Script/jSignature.js"></script>
<script type="text/javascript">
$(document).ready(function (){
$("#divSignature").jSignature({width:400, height:140, mousedown:function(){}});
});
</script>
最佳答案
只是语法错误,只需在flashcanvas.js的第928行更新以下内容:
function getSwfUrl(window) {
return ( (window[FLASH_CANVAS + "Options"] || {})["swfPath"] || BASE_URL ) + "flashcanvas.swf"; //Added semicolon
}
IE倾向于对Javascript错误不太宽容,这对于程序员学习Java语言可能是一件好事。 Chrome之类的浏览器可以容纳很多JS错误,并且仍然可以正确执行脚本。
关于javascript - jQuery签名不适用于IE <= 9,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22167388/