我正在使用JQuery Singature,并且遇到以上IE版本的此错误消息:

Message: Canvas element does not support 2d context. jSignature cannot proceed.


更新:在flashcanvas.js中添加(;)之后

问题是一样的:

讯息:预期为';'
    flashcanvas.swf

Code: 0


我已经从以下位置下载了flashcanvas.swfflashcanvas.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/

10-13 03:02