如何重新加载base64动画GIF?

时间:2017-01-23 07:09:20

标签: javascript c# base64 gif cefsharp

我在我的网页上使用base64动画GIF,当我尝试重新加载页面GIF时仍显示最后一帧。我怎样才能从一开始就重新加载GIF?
我尝试使用JS清除innerHTML,然后将其分配回我的base64 GIF,但没有任何反应 我也在使用C#和CefSharp(尝试使用Refresh()和chromeBrowser.GetBrowser()。重新加载()),如果能从其开始使用GIF播放,将会很有用。 我使用base64是因为我无法将图像存储在用户硬盘或Web上,但我需要将此图像放入HTML中,这可以通过CefSharp使用C#加载。如果还有其他方法可以在HTML中使用动画图像而不将其存储在HDD或网络上,请给我一些提示。

更新

我决定离开base64,因为我的GIF大小(> 25 Mb)导致重新加载滞后和问题。
我用CEFSharp v55-pre01发现了新问题。
我有什么:

  1. 主菜单
  2. 表单1(使用cefsharp浏览器,自动按代码加载gif)
  3. 表单2(使用cefsharp浏览器,加载相同的gif)
  4. 从主菜单我调用表单1,当表单1初始化时,表单1创建隐藏表单2.
    第一种形式初始化Cef

    if (!Cef.IsInitialized)
    {
       Cef.Initialize(settings);
    }
    

    构造函数中的每个表单都初始化自己的浏览器

    chromeBrowser = new ChromiumWebBrowser("");
    Controls.Add(chromeBrowser);
    

    问题出现在情况中,当我关闭第二个表格(没有表示第二个表格或不表示)并处理这两个表格并致电Cef.Shutdown()。当我尝试从菜单中打开第一个表单时,我的应用程序崩溃了 错误出现在第chromeBrowser = new ChromiumWebBrowser("");行的第二个表单构造函数中,并带有以下文字:

      

    未处理的类型' System.AccessViolationException'   发生在CefSharp.Core.dll

         

    附加信息:尝试读取或写入受保护的内存。   这通常表明其他内存已损坏。

0 个答案:

没有答案