【问题标题】:Silverlight getting loaded again and again in FirefoxSilverlight 在 Firefox 中一次又一次地加载
【发布时间】:2010-11-01 10:42:24
【问题描述】:

我正在使用 Silverlight.CreateObject 函数创建一个带有 xap 的对象标签,它是动态的,即它通过单击某物来实现。当你再次点击它时,它就会消失。当你再次点击它时,它应该再次显示 XAP无需再次加载(因为它已经下载过一次)。 在 IE 中一切正常。但是在 Firefox 中,当我再次单击它时,它会再次开始加载它。 在提琴手中,它显示了 IE 和 Firefox 的私有缓存。 有人可以帮我吗?

【问题讨论】:

  • 我对 FF 3.5 也有同样的问题,在我的情况下没有动态加载!单个 SL 插入 Ajaxtoolkit 选项卡中……每次切换到插件选项卡时,它都会重新加载并重新初始化。同样的问题存在于 chrome 6.0 而不是 IE。

标签: c# asp.net silverlight browser


【解决方案1】:

在 Firefox 中,当您隐藏包含 SL 应用程序的 DOM 元素时,SL 应用程序会重新初始化。我们使用 jQuery 移除对象标签,然后隐藏元素:

$("#element object").remove(); $("#element").hide();

...在执行 show() 之前,您必须重新创建 SL 对象标签。当用 $.ajax 加载的内容替换 DOM 元素时,上述内容也适用。

【讨论】:

    【解决方案2】:

    为什么要添加这种级别的复杂性?为什么不直接设置 HTML DIV 或 OBJECT 标签的可见性样式?

    【讨论】:

    • 感谢您回复迈克尔。我这样做是因为单页中有 7 到 8 个 silverlight 组件。所以我不想让页面太慢。所以我动态地创建了 silverlight 对象。现在有什么想法吗??
    【解决方案3】:

    您能否尝试使用 Microsoft 的 Silverlight.js 2.0 版本。那可以解决缓存问题吗?

    【讨论】:

    • 嘿阿邦。现在它不在我们手中。 ;-)
    最近更新 更多