环境:VS2005 C# Windows XP WebBrowser控件事情得从两方面说起:
一是我将WebBrowser控件中页面内容全部保存在一个字节数组中。什么html/text、图片、CSS、JS、Flash等等全部放到了一个字节数组中。另外用一个结构来描述各个资源在字节数组中的位置。二是我通过继承IInternetProtocol接口实现了IE异步协议。WebBrowser控件加载网页时,其IE内核会首先问我索取数据。我就从先前的字节数组中获取数据提交给IE内核。问题:
网页文字、图片、格式(.CSS)都能够通过异步协议显示出来,就是flash出不来。我测试了下,第一flash已被成功保存至字节数组中。第二IInternetProtocol的start方法向我索要了flash数据我也在read方法中作了提交。按理说应该OK了,但偏偏就是不显示。(任何网页都是,一个都显示不出来)。页面上放flash的地方右键点击后提示“没有加载影片”。还有就是:我保存复杂的页面(比如yahoo首面)然后通过异步协议显示。虽然进度条显示100%但就是无法彻底完成加载。难道这flash是要等到别的网页元素全加载完后才显示?