我正在 Übersicht 中维护一个旧的 CoffeeScript,它可以从照片中吐出随机图像。该小部件每 30 分钟刷新一次。
所发生的情况是,AppleScript 在设定位置执行并覆盖图像,然后将其用于在桌面上显示。
我的问题是该小部件似乎缓存了图像,以便在更新时不会加载新图像。
我尝试使用
update:
语句通过 domEl
在文件路径末尾添加随机字符,但我无法使其工作。这是脚本:
command: "osascript 'RandomPhoto.widget/export_random_photo.scpt'"
refreshFrequency: '30m'
render: ->"""
"""
style: """
.leImage
[styles here - irrelevant for this problem]
"""
render: (output) ->
"""
<img class="leImage" src="RandomPhoto.widget/rnd.jpeg" />
"""
update: (output, domEl) ->
s = $(domEl).find('.leImage')
s.src = s.src + '?v=' + Math.random()
我不确定 Übersicht 在缓存方面如何工作。如果我手动强制更新整个 Übersicht 应用程序,它可以工作,但这当然不是最佳的。
对我来说,诀窍是将随机 URL 写入
render
部分。我不知道为什么 update
不起作用:
# Render the output.
render: (output) ->
"<img class='leImage' src='RandomPhoto.widget/rnd.jpeg" + "?v=" + Math.random() + "' />"