【发布时间】:2013-02-12 04:36:03
【问题描述】:
我用 HTML5/JavaScript 编写了一个应用程序并将其嵌入为 OS X 网络视图。它可以工作,并且目前在网络应用程序中内置了一个设置区域,该区域也可以工作。
我的问题是,是否可以使用原生 OS X 样式首选项面板(应用名称 > 首选项)来调整网络应用的设置?
网络应用程序使用 JavaScript 变量进行设置。 OS X 首选项面板必须读取 JavaScript 变量,允许调整它们,然后在保存时更新它们。
示例网页代码(test.html):
<p>Number of widgets (sample setting):
<input type="button" id="buttonLessWidgets" value="<">
<span id="divNumWidgets"></span>
<input type="button" id="buttonMoreWidgets" value=">">
</p>
<script>
var numWidgets = 10;
// Display current number of widgets when the app is opened
document.getElementById("divNumWidgets").innerHTML = numWidgets;
// Adjust sample setting --- this is the part I'm hoping to move to the preferences panel
buttonLessWidgets.onclick = function() {
numWidgets -= 1;
divNumWidgets.innerHTML = numWidgets;
};
buttonMoreWidgets.onclick = function() {
numWidgets += 1;
divNumWidgets.innerHTML = numWidgets;
};
</script>
这是我可以轻松实现的吗?我对 HTML5 和 JavaScript 很熟悉,但我是 Xcode 的新手。
【问题讨论】:
-
NSUserDefaults 提供了一种简单的方法来保存这样的设置,您可以使用 Cocoa Bindings 和共享用户默认控制器来相对轻松地构建用户界面。不过,我不清楚您打算如何将这些值添加到您的 Web 视图中。您目前如何从 Web 视图加载 JavaScript?