2014-03-04 50 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