【问题标题】:Local HTML 5 database usable in Mac Dashboard wigdets?本地 HTML5 数据库可用于 Mac 仪表板小部件?
【发布时间】:2010-01-24 12:05:44
【问题描述】:

我正在尝试在 Mac Dashboard 小部件上使用 HTML 5 的本地数据库功能。 我正在使用 Dashcode 编写以下 javascript:

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

不幸的是,在调用 openDatabase-method 之后,数据库变量始终保持为空。我开始认为小部件不支持本地数据库...

有什么想法吗?

/pom

【问题讨论】:

    标签: javascript html dashcode mac-dashboard-widget


    【解决方案1】:

    不,您将无法执行上述操作。即使你可以,你也无法在不分发数据库的情况下分发小部件,假设它是 MySQL 或 SGLite。 (不确定 HTML 5 的本地数据库是什么意思。

    这里有很多方法可以解决这个问题:-

    您可以添加一个数据源,它可以是 JSON 文件、XML 文件或 RSS 提要。因此,例如,要使用 JSON 执行此操作,您将在 PHP 或访问数据库的服务器上编写一个页面,以便在调用 URL 时结果是 JSON 字符串。获取 JSON 字符串并对其进行解析并在 Widget 中使用它。这将让您获取数据但不能保存它。

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

    所以

    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,让您可以读取任意数量的数据,并且首选项可以让您保存数据以供以后重复使用,这些数据将在注销和关闭后继续使用。

    Apple 网站上有很多关于小部件和教程的信息,值得一读。

    希望这会有所帮助。

    【讨论】:

    猜你喜欢
    • 2019-03-06
    • 2012-04-13
    • 1970-01-01
    • 2014-04-02
    • 2013-11-05
    • 2016-11-22
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    相关资源
    最近更新 更多