【问题标题】:flash base path issuesflash基本路径问题
【发布时间】:2010-11-17 03:19:56
【问题描述】:

我在文件夹“/”中有一个 flash 文件,它在文件夹 “/xyz/” 中加载另一个 flash 文件。
第二个 flash 文件会自行加载多个资源文件。

现在 flash 正在寻找资源文件在基本文件夹“/”而不是另一个加载的 flash 的文件夹 “/xyz/”

第二次加载的flash文件由第三方提供,不可修改。

我该如何解决这个问题?
有没有办法在运行时动态更改“应用程序”的基本文件夹?还是我陷入了死胡同?

我听说过 html swf 标签“BASE”,所以我尝试使用“.....?BASE=/xyz/”加载第二个 Flash 文件,但它不起作用。

【问题讨论】:

    标签: flash


    【解决方案1】:

    我不确定您的 cmets 对这项技术的意思是什么,因为您无法访问 swf 代码,从技术上讲,您无法访问该技术本身。这有点像说汽车很烂,因为你没有钥匙:)

    无论如何,我上周回答了一个类似的问题,希望对您有所帮助!
    pass a base path to a swf loaded at runtime

    在您的特定情况下,想法是在基本文件夹中有符号链接,这将创建指向 /xyz/ 的“别名”,这样您就不必复制资产,只需指向它们以便它们可以通过第二个 swf 直接访问,也可以在通过主 swf 加载时间接访问。当然,如果每个加载的 swf 都有不同的相对文件夹,您将不得不为每个文件创建一组不同的符号链接!

    至于在 Flash 中开发,我怀疑它是否比使用其他平台开发更困难,这完全取决于您要实现的目标,但正如我之前指出的那样,加载第三方 swfs 很难被视为 Flash 开发.

    您的问题还表明 swf 的开发不是为了由第三个 swf 加载,有一些方法可以将参数传递给加载的 swf,并且应该很容易实现动态加载方式包含的 swf 资产 url。

    【讨论】:

    • 嗯,“技术”cmets 对 Flash 普遍感到沮丧。用它开发任何东西真的是一场噩梦。如果我理解正确,您的解决方案还不错,您建议我在运行时根据需要更改这些符号链接。当同时有几十个请求(加载)时会发生什么?我的意思是,每个加载的“模块”都需要不同的文件夹(相对于自身),所以如果我知道一次只发生一个请求,您的解决方案可能会起作用。我可以从加载器端模拟一个“锁定”机制,但这会大大减慢速度。
    • 无论哪种方式,您都获得了我的 +1 创意“几乎解决方案”(:
    【解决方案2】:

    基本文件夹是您的 HTML 文件(其中嵌入了 Flash SWF)所在的文件夹。

    您可以将其作为嵌入参数提供(在 HTML embedd 或 swfobject 中)

    "base=http://www.yourdomain.com/flashfolder"

    这里还有一些info about embed parameters

    更新

    在回复您的评论时,除非您可以访问每个 SWF 的代码,否则您将无法这样做。

    【讨论】:

    • 我知道它,但它不适合我,因为我要加载几个子应用程序,每个子应用程序都在不同的文件夹中。
    • 添加了对答案的回复。我最初以为您可以使用 AS3 更改内部的基本路径,但您不能。
    • 哈 - 很好的答案(:严肃地说,感谢您至少尝试过。这项技术(如果你可以这样称呼它)似乎非常不受欢迎,我们当然明白为什么。谢谢再次,希望其他有答案的人进来。
    • 嗯,这个问题是出于安全考虑,但闪存的大问题是可访问性以及与其他技术的互操作性。资源/CPU占用也不是很好;)
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多