【问题标题】:Widget object is undefined in Dashcode小部件对象在 Dashcode 中未定义
【发布时间】:2011-05-09 21:56:09
【问题描述】:

我正在将 Dashcode 用于移动 Safari Web 应用程序,从文档 (https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Dashcode_UserGuide/Contents/Resources/en.lproj/MakingaWidgetwithDashcode/MakingaWidgetwithDashcode.html) 看来,我应该能够访问一个名为“widget”的对象。

但是,当我尝试时,我收到错误消息说小部件未定义。我也试过“window.widget”,它给了我同样的错误。

发生了什么事?

我想让我的应用程序中的文本成为可点击的链接,以使用 openURL 打开 URL(如上面 URL 中给出的示例)。

【问题讨论】:

    标签: widget undefined dashcode


    【解决方案1】:

    您使用 widget.xxx 来访问您的小部件内部和外部的东西。 因此,要访问 curl 和 Mac 并从 Yahoo 获取一些数据,请执行以下操作

    var yahoorate = widget.system("/usr/bin/curl 'http://download.finance.yahoo.com/d/quotes.csv?s=EUR" + interim0 + "=X&f=l1'", null).outputString;
    

    获取首选项键值,当您在 Mac 上安装时存储在小部件 plist 中

    globalPreferenceValue = widget.preferenceForKey(null, "your-key");
    

    我认为在问题问(下面)中,我们正在检查我们是否在小部件中,然后准备过渡到小部件的背面。

    if (window.widget) {
        widget.prepareForTransition("ToBack");
    }
    

    这是我设置首选项的方式,以便在系统重新启动之间存储它(您使用获取首选项来检索它们)

    widget.setPreferenceForKey(2,"ratePrecision");
    

    这就是您创建链接以在浏览器而不是小部件中打开的方式

    <a onclick=" + "widget.openURL('http://www.wf.com/private/?ID=636');" + "><span id=company-info>click here</span></a>
    

    这些都是我构建的小部件的相关工作示例。希望能帮助到你。我发现下载与我想要的功能相似的小部件很有用,然后安装它们并将它们作为项目打开,您可以导入,然后您可以查看所有代码。

    【讨论】:

    • 我的问题是,当我尝试使用“widget.openURL ...”时,出现运行时错误,显示“找不到变量:小部件”。我是否需要导入一些库才能访问“小部件”?我正在使用 Dashcode 3.0.2。谢谢,莫娜
    • 嗯,我去看看。哪个 Mac,哪个操作系统版本等。让我知道,我会看看我能找到什么。
    【解决方案2】:

    好的,这行得通...希望对其他人有所帮助...

    window.location = "http://www.apple.com";
    

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多