2010-01-24 58 views
0

我试图在Mac仪表板小部件上使用HTML 5的本地数据库功能。 我在Dashcode中以下程序的javascript:本地HTML 5数据库可用于Mac仪表板wigdets?

if (window.openDatabase) 
{ 
    database = openDatabase("MyDB", "1.0", "Sample DB", 1000); 
    if (database) 
    { 
     ...database code here... 
    } 
} 

不幸的是,数据库变量保持调用的openDatabase法之后总是空。我开始认为本地数据库不支持在小工具...

任何想法?

/pom

回答

0

不,你不能做到以上。即使你可以,那么假如它是MySQL或SGLite,你也不能在没有分发数据库的情况下分发小部件。 (不知道你的HTML 5的本地数据库的意思

这里有多种方式这一轮: -

您可以添加它可以是一个JSON文件和数据源,或XML文件或RSS所以要用JSON来做到这一点,例如你可以在PHP中的服务器上编写一个页面或者访问数据库的东西,这样当URL被调用时,结果是一个JSON字符串,取出JSON字符串并解析它并使用它这可以让你获得数据但不会保存它

另一种方法是使用用户的偏好,这允许你保存和检索单个小部件中的数据

所以

var preferenceKey = "key";  // replace with the key for a preference 
var preferenceValue = "value"; // replace with a preference to save 
// Preference code 
widget.setPreferenceForKey(preferenceValue, preferenceKey); 

然后,您可以用

var preferenceForKey = "key"; // replace with the key for a preference 
// Preference code 
preferenceForKey = widget.preferenceForKey(preferenceForKey); 

外部来电找回它,你也可以使用REST将让你阅读任何数量的数据和喜好就会让你保存数据之后重新使用可以在注销和关闭后继续使用。

苹果网站有很多关于小工具和教程以及thjat值得一试的信息。

希望这会有所帮助。

+0

他指的是:http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/ – Agos 2010-01-28 14:17:19