Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Flash SWF将不会加载到Firefox中的Solaris上_Javascript_Flash_Firefox_Actionscript_Solaris - Fatal编程技术网

Javascript Flash SWF将不会加载到Firefox中的Solaris上

Javascript Flash SWF将不会加载到Firefox中的Solaris上,javascript,flash,firefox,actionscript,solaris,Javascript,Flash,Firefox,Actionscript,Solaris,更新+解决方案=============================== 很抱歉在这里发布解决方案,而不是在评论中发布,但我的工作筛选的某些内容不允许评论功能对我起作用 我最终使用jboss中的-b0.0.0.0属性绑定到所有地址,因此我可以尝试使用机器b作为客户端访问机器A的服务器,反之亦然。我发现它在机器B上运行时总是无法加载,无论我是否从A或B连接 我在同一网络上的windows计算机上启动wireshark,并观察到加载网页的TCP连接。在失败的情况下,我看到对.swf的请求的内容长

更新+解决方案===============================

很抱歉在这里发布解决方案,而不是在评论中发布,但我的工作筛选的某些内容不允许评论功能对我起作用

我最终使用jboss中的-b0.0.0.0属性绑定到所有地址,因此我可以尝试使用机器b作为客户端访问机器A的服务器,反之亦然。我发现它在机器B上运行时总是无法加载,无论我是否从A或B连接

我在同一网络上的windows计算机上启动wireshark,并观察到加载网页的TCP连接。在失败的情况下,我看到对.swf的请求的内容长度约为200万,当我右键单击wireshark日志并选择“查看对话”或类似内容时,获取.swf文件的总对话大小仅为130000。看看about:cache,这大约等于在页面上说“完成”之前它最终缓存的内容

我最终发现useSendFile属性有一个bug。(http://community.jboss.org/thread/148651?tstart=0). 这会导致在内核内存不足时,它只发送部分文件。在server.xml中使用useSendFile=“false”似乎解决了这个问题

=====================================================

原始问题:

我有一个flash.swf文件,它在Solaris 10上的Firefox中间歇性加载。我在各种Solaris修补程序级别上尝试过Firefox2和3,以及Flashplayer 10和10.1,但没有一个能够始终如一地工作。这似乎是一个缓存问题,但我不知道我需要做什么来修复它

在使用新清除的缓存启动firefox并转到包含swf的我的网页(在localhost上)时,我可以看到firefox向JBoss服务器发出GET请求以获取swf文件。内容类型正确识别为application/x-shockwave-flash,响应的contentLength为2240830,状态为200,表示整个文件已发送。响应完成后,页面显示为黑色背景,带有闪烁的“加载”栏,完成率约为5%。在这一点上,我本以为它会出现,因为它确实得到了完整的文件

当我在这之后转到about:cache并查看磁盘缓存条目时,我看到一个196608字节的“数据大小”,因此它似乎只缓存了文件的一部分

因为它没有加载到窗口中,所以我刷新了浏览器。我在header range bytes字段“196608-”中看到它正在请求未缓存的内容。应用服务器响应正确的内容类型、状态206(部分内容)和长度2044222。刷新缓存时,它现在列为393216字节

我再次刷新,得到另一部分内容响应,然后加载我的flash文件。在about:cache中,我看到数据大小为2240830,即状态为200的原始响应的大小

为什么我的flash文件在第一次响应(返回完整文件的状态为200 OK的文件)后没有加载。为什么它只缓存文件的一部分,而不自动请求文件的其余部分

使用相同版本的.swf文件、相同版本的应用程序服务器以及相同版本的firefox和flash player在Windows上安装时,一切正常


编辑:因为我很难在回复中发布评论,所以我只在这里添加。Solaris没有调试版本。我有一个装在窗户上的,但在那里很好用。经过几次刷新后,它在Solaris上确实可以工作,Firefox中的缓存大小错误使我相信这可能是缓存的问题。

您是否尝试安装调试flash player?可能出现了一些flash错误。您是否尝试过使用不同于Firefox的浏览器?欢迎使用StackOverflow!评论需要最少的代表。这与“工作中的过滤器”无关。此外,将您的答案作为答案发布,而不是编辑。