本地 HTML 5 数据库可在 Mac 仪表板 wigdets 中使用吗?

发布于 2024-08-19 04:24:29 字数 360 浏览 5 评论 0原文

我正在尝试在 Mac 仪表板小部件上使用 HTML 5 的本地数据库功能。 我正在 Dashcode 中编写以下 JavaScript 代码:

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

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

有什么想法吗?

/pom

I'm trying to use HTML 5's local database feature on a Mac Dashboard widget.
I'm programming in Dashcode the following javascript:

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

Unfortunately the database-variable remains always null after the call to openDatabase-method. I'm starting to think that local databases are not supported in Widgets...

Any ideas?

/pom

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷了相思 2024-08-26 04:24:29

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

这里有多种解决方法: -

您可以添加数据源,可以是 JSON 文件、XML 文件或 RSS 提要。所以使用 JSON 来做到这一点例如,您可以在 PHP 或访问数据库的服务器上编写一个页面,这样当调用 URL 时,结果就是一个 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

网站有很多有关小部件和教程的信息,

希望这会有所帮助。

No you will not be able to do the above. And even if you could then you would not be able to distribute the widget without distributing the database assuming it was a MySQL or SGLite. (not sure what you mean by HTML 5's local Db.

here are a number of ways round this:-

You can add a data source which can be a JSON file, or an XML file or and RSS feed. So to do this with JSON for example you would write a page on a server in PHP or something that accessed a database so that when the URL was called the result was a JSON string. Take the JSON string and parse it and use it in the Widget. This will let you get data but not save it.

Another way would be to use the user preferences. This allows you to save and retrieve data in the individual widget.

So

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);

You can then retrieve it with

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

The external call, you could also use REST will let you read any amount of data in and the preferences will let you save data for later reuse that will survive log out's and shut downs.

The Apple site has a lot of information about Widgets and tutorials as well thjat are worth working through.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文