Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
Flash 加载SWF不';当SWF存储在本地PC上时,不工作_Flash_Security_Xul_Xulrunner_Browser Security - Fatal编程技术网

Flash 加载SWF不';当SWF存储在本地PC上时,不工作

Flash 加载SWF不';当SWF存储在本地PC上时,不工作,flash,security,xul,xulrunner,browser-security,Flash,Security,Xul,Xulrunner,Browser Security,我有一个HTML文件,其中包含一个Flash.FLV播放器;然后加载给定的FLV视频并播放。我们的想法是,所有这些文件都存储在PC上,作为应用程序安装的一部分,我们使用HTML/flash作为帮助/手册 在我的电脑上工作正常,但在用户的电脑上没有显示任何内容。但是,如果我在网上托管完全相同的文件结构,并给他们提供URL,它就可以完美地工作 我猜这是某种安全问题,但不知道如何解决它。所使用的浏览器实际上是一个XULRunner应用程序,即它是Firefox3引擎,但实际上不是FF。因为我的电脑是开

我有一个HTML文件,其中包含一个Flash.FLV播放器;然后加载给定的FLV视频并播放。我们的想法是,所有这些文件都存储在PC上,作为应用程序安装的一部分,我们使用HTML/flash作为帮助/手册

在我的电脑上工作正常,但在用户的电脑上没有显示任何内容。但是,如果我在网上托管完全相同的文件结构,并给他们提供URL,它就可以完美地工作

我猜这是某种安全问题,但不知道如何解决它。所使用的浏览器实际上是一个XULRunner应用程序,即它是Firefox3引擎,但实际上不是FF。因为我的电脑是开发者电脑,所以我完全有可能在过去的另一个项目中做了一些事情,让它工作,而不是我的电脑在某种程度上是特殊的

作为参考,HTML中包含以下内容-这是从某些第三方应用程序生成的:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="723" height="445" id="FLVPlayer">
  <param name="movie" value="FLVPlayer_Progressive.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="scale" value="noscale" />
  <param name="salign" value="lt" />
  <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Halo_Skin_2&amp;streamName=../../videos&amp;autoPlay=true&amp;autoRewind=false" />
  <param name="swfversion" value="8,0,0,0" />
  <!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="FLVPlayer_Progressive.swf" width="723" height="445">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="scale" value="noscale" />
    <param name="salign" value="lt" />
    <param name="FlashVars" value="&amp;MM_ComponentVersion=1&amp;skinName=Halo_Skin_2&amp;streamName=../../videos&amp;autoPlay=true&amp;autoRewind=false" />
    <param name="swfversion" value="8,0,0,0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
    <div>
      <h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

此页面上的内容需要更新版本的Adobe Flash Player。


这肯定是一个安全问题,浏览器无法访问本地文件。
它在您的系统上工作,因为您在沙箱中。
你可以做两件事。
第一个-在线托管FLV并以这种方式访问它。就像其他玩家一样。

第二个-创建一个Air应用程序。

你能解释一下沙箱。。。我相信可以添加异常,但我不知道如何添加。让文件在线不是一个选项,因为应用程序必须离线工作,而且它是一个嵌入式HTML小部件,所以我认为AIR不合适。沙箱是swf运行的工作环境,通常基于域。在flash的开发沙盒中,它是本地文件系统,例如:c:/somefolder/somefile.flv出于安全原因,开发沙盒之外的任何东西都不能访问本地文件,除非用户先进行交互,即鼠标单击。我的SWF、HTML和flv都在同一个驱动器中;这不意味着没关系吗?还是因为FLV位于类似.././视频的路径中,即不同的文件夹?还有,为什么它在某些PC上工作,而在其他PC上不工作?我无法撤销否决票,除非你编辑帖子,否则它显然是“锁定”的。如果你没有运行flash IDE,那么你就再次脱离了沙箱。如果你离开了沙箱,那么所有的安全措施都会生效。如果你想访问本地硬盘上的本地内容,比如:东西,那么你应该看看air应用程序。默认情况下,浏览器不能也不允许访问本地计算机上的内容。在大多数情况下,浏览器都能正常工作。没有涉及IDE。因此我感到困惑,因为你说它不起作用,事实上,在很多情况下它是起作用的。