# 在EC-CUBE中插入FLASH　by swfobject+JavaScript Tweener

- URL: https://justfly.idv.tw/%e5%9c%a8ec-cube%e4%b8%ad%e6%8f%92%e5%85%a5flash%e3%80%80by-swfobjectjavascript-tweener/
- 日期: 2008-09-30
- 分類: WEB&amp;RIA
- 標籤: ec-cube, flash, javascript, php, swf, swfobject, tween

為了實現在EC-CUBE的LIST中做出一塊會隨內容改變長度的FLASH的資訊欄

所以就變的看起來這麼複雜了

首先還是拜一下GOOGLE

擲出了這篇[AS3 Resizing SWF + SWFObject + JavaScript Tweener](http://blog.hydrotik.com/2007/09/27/as3-resizing-swf-swfobject-javascript-tweener/)

一看簡直完美^^

趕緊下載[Javascript Motion Tweener](http://jstween.blogspot.com/) or [just files on JustSeaver](http://download.justfly.idv.tw/JSTween.zip)

再加上之前的[swfobject](http://code.google.com/p/swfobject/)準備來試試

第二步把JS放到\data\Smarty\templates\mystyle\site_frame.tpl中

再來才是問題

我雖然照著例子做

不過一直沒辦法出現希望的效果

包刮如過按照範例的code插入swf

在ie重新整理會出現TypeError: Error #1009: 無法存取 Null 物件參考的屬性或方法。的錯誤

讓我曾經繞路想用Event.ADDED_TO_STAGE來解決

不過後來用標準的swfobject2.0的方法(如下)插入後就解決了在ie聽不到Event.RESIZE的問題

但是我也把stage.addEventListener(Event.RESIZE,resizeHandler);放到第二影格了

所以是哪一點解決哪個問題就….也不重要啦^^”

總之經過修正的結果:

在\html\user_data\packages\mystyle\list.tpl中id=”listtitle”的div下自己加一個DIV

```

```

FLASH中:

```
import flash.display.*;
import flash.events.*;
var nowswfH:int = 145;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP;
stage.addEventListener(Event.RESIZE, resizeHandler);
function doResize(toHeight:int):void {
	navigateToURL(new URLRequest("javascript:setflash("+ nowswfH + "," + toHeight+");"),"_self");
	nowswfH = toHeight;
}

function resizeHandler(event:Event):void {
	bg_mc.height = stage.stageHeight;
	btn_more.y = stage.stageHeight - 30;
}
doResize(500);
```

結果像是:[防犯カメラ、監視カメラの販売「アパダイレクト」/商品一覧ページ](http://apa-direct.net/onlineshop/products/list.php?category_id=6)
