1

我不想缓存我的 swf 闪存文件 有没有办法可以从我的 swf 文件中执行代码来执行缓存清理?例如,我将我的 swf 文件发布在:www.newgrounds.com- 我希望在加载时从我的 swf 文件部署 actionscript 2.0 中的代码。并且该代码应该从用户缓存或 Internet 临时文件夹中清除加载的 SWF 文件,不留下任何被黑客入侵或复制到 NTFS 硬盘系统的痕迹,涉及非法或虚假分发我的业务文件。

4

3 回答 3

1

就我而言,我通过使用加载主 SWF 的自定义 SWF 加载程序解决了这个问题。自定义 SWF 加载器使用自定义协议从服务器加载主 SWF。这使得复制 SWF 变得更加困难。可以改为使用 HTTP/HTTPS,但不应使用内置的 actionscript HTTP 类(例如,URLRequest、URLLoader),因为它们会在本地缓存 SWF 文件。

于 2014-10-13T09:57:56.693 回答
0

我之前回答过这个问题,但是找不到我的帖子,所以我会重新回答。

为了控制缓存,您需要随文件发送正确的 HTTP 标头。可以将每个 Web 服务器配置为发送带有静态或动态内容的适当标头,过滤文件扩展名等。我说“控制”是因为您不希望用户重新下载文件,即使它没有更改 - 您都会滥用用户的连接和您的服务器。

您需要做的是决定您希望多久检查一次 SWF 文件的更改,并设置适当存储缓存的时间。

或者,您可以修改要在 HTML 包装器中使用的文件名。理想情况下,拥有 SWF 版本,并且每当必须更新文件时,替换它并重命名。显然,这需要您处理包含 SWF 的 HTML 文件的标头,而不是 SWF 自己的标头。

http://www.mnot.net/cache_docs/这是一个很好的文档,它解释了如何处理标题、含义和后果。必须阅读:)

于 2012-06-01T10:32:17.743 回答
0

在您的嵌入代码中,在 SWF 文件名之后添加一个随机参数。例如,如果您使用 PHP:

http://example.com/yourfile.swf?random=<?php echo rand(); ?>
于 2012-06-01T07:43:05.023 回答