Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以从仪表板小部件中创建新的小部件实例?_Javascript_Macos_Widget_Dashboard_Dashcode - Fatal编程技术网

Javascript 是否可以从仪表板小部件中创建新的小部件实例?

Javascript 是否可以从仪表板小部件中创建新的小部件实例?,javascript,macos,widget,dashboard,dashcode,Javascript,Macos,Widget,Dashboard,Dashcode,这是一个后续行动。 似乎不可能简单地保留已配置的仪表板小部件实例。另一种方法是重新创建以前的实例 是否可以从另一个小部件中创建新的仪表板小部件实例?我找不到关于这个话题的任何东西。我会怀疑它。。。我想这里面隐含着安全风险 浏览苹果的代码可能对你最有帮助。当您“更新”一个小部件时,您是更改了标识符,还是自动删除了首选项?(请原谅我的无知-我不在Mac电脑旁,所以我无法调查自己) 不过,除此之外,您可能还想在“flow”或苹果论坛上查找“Dashboard Widget preferences Sw

这是一个后续行动。
似乎不可能简单地保留已配置的仪表板小部件实例。另一种方法是重新创建以前的实例


是否可以从另一个小部件中创建新的仪表板小部件实例?我找不到关于这个话题的任何东西。

我会怀疑它。。。我想这里面隐含着安全风险

浏览苹果的代码可能对你最有帮助。当您“更新”一个小部件时,您是更改了标识符,还是自动删除了首选项?(请原谅我的无知-我不在Mac电脑旁,所以我无法调查自己)


不过,除此之外,您可能还想在“flow”或苹果论坛上查找“Dashboard Widget preferences Sweed by update”。电子邮件列表特别有用。

AFAIK这在任何支持的方式下都是不可能的(苹果的文档中没有提到它,Dashboard没有AppleScript字典)


但是,由于小部件可以访问文件系统并执行命令,因此可以对其进行破解:修改
com.apple.dashboard.plist
并使用
killall Dock
重新启动dashboard(显然这不是一个优雅的解决方案)。

这是不可能的。我以前也试过。

我想也许你可以使用
widget.system
调用widget bundle上的
open
命令并打开一个新副本,所以我把它放在一起进行测试。不行


不过,我想知道Objective-C插件是否更有能力,或者这是否是仪表板环境中的一个限制?

这是可能的,但我不知道如何实现。Delivery Status小部件允许您打开其自身的新副本。您可以在中的屏幕截图中看到+符号。

嗯,这在较早版本的OS X中是可能的。在我制作的小部件中,我使用以下代码创建了一个新实例:

widget.system('/bin/sh -c "open `pwd`"', null);

但是现在,这段代码重新安装了小部件。

这很有趣。他们正在创建这样的实例:if(widget.system('open-bcom.apple.dock~/Library/Widgets/“Delivery Status.wdgt”,null).Status){widget.system('open-bcom.apple.dock/Library/Widgets/“Delivery Status.wdgt”,null).Status;}