在android上,jQuery插件中使用的第三方库的ReferenceError

ReferenceError for 3rd party library used in jQuery plugin, on android

本文关键字:第三方 ReferenceError android jQuery 插件      更新时间:2023-09-26

我正在开发一个使用jQuery UI插件的应用程序,该插件又使用Raphael库。事情在iOS和普通浏览器上运行得很好,但在android上我得到了错误:

ReferenceError: can't find variable Raphael

在我编写的jQueryUI插件(jQuery.UI.sketch.js)的init方法的这一行中提出:

var p = Raphael(el.attr("id")); 

这是我用来模拟我的应用程序的index.html的头部:

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/js/raphael.js"></script>
<script type="text/javascript" src="/js/raphael.json.js"></script>
<script type="text/javascript" src="jquery.ui.sketch.js"></script>

身体看起来像:

<body id="home">
 ... a bunch of divs
<script type="text/javascript">
$(function(){
            // ...jquery stuff that works fine
            // initialize sketch widget, FAILS HERE ON ANDROID:
            $('#paper').sketch({
                saved: function(e,ui){
                    savedDrawing = ui;
                    alert("saved JSON to a global variable 'savedDrawing'");
                },
                // these could be bound to an element if we want:
                startdrawing: function(){
                    console.log("figure started");
                },
                donedrawing: function(){
                    console.log("finished drawing");
                }
            });
</script>

我有点不知所措。

问题似乎只是Raphael不支持Android(或者说没有办法实现SVG)。啊。显然v3.0浏览器支持SVG。