网站前端开发与动画相关常见问题解答

网站前端开发与动画相关常见问题解答
  问题 解答 说明 关键字
1 插入宽度1000像素的头部动画或者minisite动画后,左右超过1000像素位置的画面分界明显,好像画面断层了。 头部动画或者MINISITE插入页面时,一般宽度设为100%横向全屏,高度按原先的动画高度设定

现在版面及动画大多是按宽屏来设计的,元素往往不局限与版块宽度的1000以内。公司动画一般都是按1440来设计,只是发布的时候按1000或者1440宽度发布而已,实际内容还是1440的,出于适应用户屏幕分辨率的考虑,所以,应当把页面中的动画宽度设成100%自适应屏幕。

动画宽度
横向全屏 
自适应
2 插入1440的动画后,页面出现横向滚动条 同上 同上 横向滚动条
3 Minisite专题提供的一堆swf文件中哪个是主文件,所有文件都需要上传吗。 一般默认主动画文件为index.swf,其它swf为子文件以供主动画文件读取,或者还存在图片目录或者xml文件;除了fla源文件可以删除外,其余文件需要按所提供的文件结构全部上传。 按具体情况协商 Minisite
文件上传
4 Flash和页面能否放于不同服务器(域)下 页面和swf文件可以分开存放,如果Flash需要读取swf子动画的情况,因为flash路径是跟随页面的,所以在读取上需要用到绝对路径,并且需要解决跨域读取问题。 按具体情况协商 跨域存放
绝对路径
5 网页底图被动画背景色块遮盖住了

页面Flash参数中加入
<param name="wmode" value="transparent">
并且embed标签里加入
wmode="transparent"

要实现flash背景透明,在IE中需要加这样一个值:
<param name="wmode" value="transparent">
而在Mozilla、Firefox浏览器中起作用的是这个标签<embed>,用户兼容性考虑,所以还要在<embed>标签内加入属性:
wmode="transparent"

透明背景
遮盖
6 弹出层被页面上的flash遮盖住了 页面Flash参数中加入
<param name="wmode" value="opaque">
并且embed标签里加入
wmode="opaque"
  弹出层
遮盖
7 Flash在页面中无法发送URL请求,或者无法发送页面js调用请求

页面Flash参数中加入
<param name="allowScriptAccess" value="always"/>

或者
<param name="allowScriptAccess" value="sameDomain"/>

并且embed标签里加入
allowScriptAccess="always"
或者
allowScriptAccess="sameDomain"

AllowScriptAccess 参数,它可以用来控制是否允许执行来自 swf 本身对外脚本访问。
当 AllowScriptAccess 设置为 "never" 时,禁止所有脚本执行对外操作;
当 AllowScriptAccess 设置为 "always" 时,允许随时执行脚本操作;
当 AllowScriptAccess 设置为 "sameDomain" 时,仅当 SWF 文件和网页位于同一域中时才允许执行脚本访问操作。
脚本访问
跨域
8 Flash在页面中无法跨域读取动画、图片或者XML文档

1、原因可能同上

2、数据端缺少跨域策略文件
在数据端服务器根路径下建立crossdomain.xml文件,内容可以如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

flashplayer中,要跨域必须要有策略文件。 
左侧例子表示该服务允许任何外域来访问。
关于crossdomain.xml的放置目录问题,有如下解决方案,可放置在:
1) 容器的根目录。
2) 如果crossdomain.xml不是放在根目录下,而是在某个webapp下面,在flash/flex中就需要在初始化as代码时应用例如 Security.loadPolicyFile("http:// localhost:8080/aaa/crossdomain.xml");
这样,外部Flex访问该服务发布的WebService时,flashplayer首先找的就是crossdomain.xml文件,若安全机制设置为允许访问,则访问成功。

脚本访问
跨域读取
外部图片
XML文档
9 Flash与页面JavaScript或ActiveX通讯时,Flash无法从页面获得数据。 在OBJECT标签中,设置id属性;
在EMBED标签中,设置name属性对应OBJECT的id属性,并且确保EMBED标签中没有使用id属性
例如:<object id="myFlash" classid="......>
例如:<embed name="myFlash" swLiveConnect="true" src="javascript_to_flash.swf" ......></embed>
JS通讯
获取数据
原文地址:https://www.cnblogs.com/aim-at-is-the-tao-in/p/3615449.html