2014-03-04 31 views
2

我使用JQuery Singature和我遇到这个错误信息为上述IE版本:JQuery的签名不工作的IE <= 9

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

这两个文件,我把他们安置在一个叫脚本文件夹。

如果我包含或不包含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> 
+0

您是否尝试将html5标签添加到DOM? – jycr753

+0

对于IE版本10和更高版本,它是可以的。现在,如何将HTML5标签添加到IE版本<= 9以上,因为它们不支持Html5。 – MilkBottle

回答

1

只是一个语法错误,只需更新在flashcanvas.js的928行:

function getSwfUrl(window) { 
    return ((window[FLASH_CANVAS + "Options"] || {})["swfPath"] || BASE_URL) + "flashcanvas.swf"; //Added semicolon 
} 

IE往往是对Javascript错误少宽松,这对程序员学习语言来说是一件好事。像Chrome这样的浏览器可以容纳相当数量的JS错误,并且仍然可以正确执行脚本。

+0

你确定这是一个错误?我的意思是你不需要每次都使用';',而不是最后一次声明的时候http://mislav.uniqpath.com/2010/05/semicolons/ – jycr753

+0

你的文章确实清楚地说明了'JavaScript的实现有所不同'。如错误消息所示,IE可能会'预期'。 –

+0

我按照你的指示做了。现在,Div内部有一个红色的X,像图片一样没有显示。什么似乎是问题? – MilkBottle