核心概念
- Flash 文件: 你在 Flash Professional (Ancestral 版本) 中创建并导出的最终文件,格式是 .swf,这是网页中实际显示和运行的动画。
- 网页容器: 你在 Dreamweaver 中创建的 HTML 文件,这个 HTML 文件本身不包含 Flash 动画,而是像一个“容器”或“舞台”,用来嵌入或加载 .swf 文件。
- 链接方式:
- 使用
<object>和<embed>标签 (传统方法):这是最经典、兼容性最好的方法。<object>是 HTML 的标准标签,而<embed>是一个更早的、被广泛支持的标签,为了确保在各种浏览器中都能正常显示,通常会将它们组合使用。 - 使用 JavaScript (SWFObject):这是现代推荐的最佳实践,它使用 JavaScript 动态地将 Flash 内容插入到页面中,提供了更好的体验,比如可以检测用户是否安装了 Flash Player,并在没有安装时显示替代内容(如一张图片或一段文字)。
- 使用
准备工作
- 创建你的 Flash 文件: 在 Flash 中完成你的动画、按钮或交互设计。
- 导出为 SWF: 按
Ctrl + Enter(Windows) 或Cmd + Enter(Mac) 测试并导出你的影片,确保你得到了一个.swf文件,并记下它的文件名(my_animation.swf)。 - 准备好替代内容: 为不支持 Flash 的用户准备一张图片或一段文字,这是良好的网页设计习惯。
使用 <object> 和 <embed> 标签 (传统方法)
这是最直接的方法,适合快速嵌入。

(图片来源网络,侵删)
步骤:
- 在 Dreamweaver 中打开或创建一个 HTML 文件。
- 将光标放在你希望显示 Flash 动画的位置。
- 切换到 Dreamweaver 的 “代码” 视图。
- 将下面的代码复制并粘贴到你的 HTML 文件中。
代码示例:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">我的网页</title>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>下面是我的 Flash 动画:</p>
<!--
这就是嵌入 Flash 的代码块。
我们将 <object> 和 <embed> 组合使用以获得最大兼容性。
-->
<object
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0"
width="800"
height="600"
title="我的 Flash 动画">
<!--
<object> 标签内的内容是作为替代内容显示给不支持 <object> 标签的浏览器(或没有安装 Flash Player 的用户)的。
-->
<p>您没有安装 Flash Player,或者版本过低。<a href="http://www.adobe.com/go/getflashplayer">请点击此处下载最新版本。</a></p>
<!--
<embed> 标签是嵌入 Flash 的核心。
它被放在 <object> 标签内部,这样当浏览器不支持 <object> 但支持 <embed> 时,它就会显示。
-->
<embed
src="my_animation.swf"
width="800"
height="600"
quality="high"
pluginspage="http://www.adobe.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>
<p>网页的其他内容...</p>
</body>
</html>
代码解释:
<object>: HTML 标准容器。classid: 指定 ActiveX 控件的 ID,这是 IE 浏览器识别 Flash 的方式。codebase: 指定 Flash Player 的下载地址,如果用户没有安装或版本过低,浏览器可以提示下载。width和height: Flash 动画的尺寸(单位:像素)。<p>...</p>: 这是最重要的部分! 如果用户的浏览器无法解析上面的<object>和<embed>标签(在手机上或禁用了 Flash),就会显示这段文字,这是无障碍和用户体验的关键。
<embed>: 非标准但被广泛支持的标签。src: 这是关键! 指向你的.swf文件的路径,请确保路径正确(my_animation.swf和 HTML 文件在同一个文件夹下,直接写文件名即可)。type: 告诉浏览器这是一个 Flash 文件。pluginspage: 指向 Flash Player 的下载页面。
使用 JavaScript (SWFObject) (推荐方法)
这种方法更优雅,更灵活,是目前公认的最佳实践。
步骤:
- 下载 SWFObject: 从其官方网站下载最新的 SWFObject 库,你会得到一个包含
swfobject.js文件的压缩包。 - 部署文件:
- 将你的
.swf文件(my_animation.swf)放到你的网站文件夹中。 - 将下载的
swfobject.js文件也放到同一个文件夹或专门的js文件夹中。
- 将你的
- 在 Dreamweaver 中编辑 HTML:
- 打开你的 HTML 文件。
- 在
<head>标签内,引入swfobject.js文件。 - 在
<body>标签中,创建一个<div>元素作为 Flash 动画的“占位符”,给它一个id,这样 JavaScript 就能找到它。 - 在页面底部(
</body>标签之前),编写 JavaScript 代码来调用 SWFObject,将.swf文件加载到这个<div>中。
代码示例:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">使用 SWFObject 嵌入 Flash</title>
<!-- 1. 引入 SWFObject JavaScript 文件 -->
<script src="swfobject.js"></script>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>下面是使用 SWFObject 加载的 Flash 动画:</p>
<!--
2. 创建一个 div 作为 Flash 动画的容器。
id="flashContent" 是关键,JavaScript 会通过这个 ID 找到它。
在这里放置替代内容,JavaScript 被禁用或没有 Flash,就会显示这些内容。
-->
<div id="flashContent">
<p>您没有安装 Flash Player,或者版本过低。<a href="http://www.adobe.com/go/getflashplayer">请点击此处下载最新版本。</a></p>
<img src="flash_alternative_image.jpg" alt="Flash 动画的替代图片" />
</div>
<p>网页的其他内容...</p>
<!--
3. 在页面底部放置 JavaScript 初始化代码。
这样可以确保在页面内容加载完成后再执行脚本。
-->
<script type="text/javascript">
// swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes)
swfobject.embedSWF(
"my_animation.swf", // (必需) .swf 文件的 URL
"flashContent", // (必需) 容器 div 的 ID
"800", // (必需) Flash 动画的宽度
"600", // (必需) Flash 动画的高度
"9.0.0", // (必需) 所需的 Flash Player 最低版本号
false, // (可选) expressInstall.swf 的 URL,用于自动更新 Flash Player
{}, // (可选) 传递给 Flash 的变量 (FlashVars)
{ // (可选) Flash 的参数
'menu': 'false',
'quality': 'high',
'wmode': 'opaque', // 可以设置为 'transparent', 'opaque', 'window'
'bgcolor': '#ffffff'
},
{ // (可选) object/embed 标签的属性
'name': 'myFlashMovie',
'id': 'myFlashMovie',
'align': 'middle'
}
);
</script>
</body>
</html>
代码解释:
<script src="swfobject.js"></script>: 加载 SWFObject 库。<div id="flashContent">...</div>: 这是 JavaScript 的目标,如果一切正常,这个<div>内部的内容会被 Flash 动画替换掉,如果失败,则会保留原有的替代内容。swfobject.embedSWF(...): 这是核心函数。- 它接收多个参数,清晰地定义了如何加载 Flash。
- 优点:
- 内容与行为分离: HTML 只负责结构,JavaScript 负责行为,代码更整洁。
- 优雅降级: 默认提供替代内容,用户体验更好。
- 易于维护: 只需修改 JavaScript 中的参数即可调整 Flash 的属性,无需改动 HTML 结构。
- SEO 友好: 搜索引擎爬虫可以读取到
<div>中的替代文本,而不会忽略整个 Flash 内容。
如何在 Flash 中制作按钮并链接到网页?
如果你想在 Flash 动画内部制作一个按钮,点击后跳转到 Dreamweaver 制作的网页,你需要使用 ActionScript 2.0 (AS2) 或 ActionScript 3.0 (AS3)。
以 AS2.0 为例 (更简单,适用于旧项目):
- 在 Flash 中,创建一个按钮(或将其转换为按钮元件)。
- 选中这个按钮。
- 打开 “动作” 面板 (F9)。
- 输入以下代码:
on (release) {
// 在新窗口中打开链接
getURL("http://www.example.com", "_blank");
// 在当前窗口打开链接
// getURL("http://www.example.com", "_self");
}
getURL()是 AS2 中用于打开 URL 的函数。- 第一个参数
"http://www.example.com"是你想要链接的网址。 - 第二个参数
"_blank"表示在新标签页或新窗口中打开。"_self"表示在当前窗口打开。
以 AS3.0 为例 (现代标准):
- 在 Flash 中,创建一个按钮(或将其转换为按钮元件)。
- 给这个按钮实例命名一个名字,
myButton。 - 在主时间轴上选中一帧,打开 “动作” 面板。
- 输入以下代码:
// 为按钮添加一个点击事件侦听器
myButton.addEventListener(MouseEvent.CLICK, goToWebPage);
// 定义当按钮被点击时要执行的函数
function goToWebPage(event:MouseEvent):void {
// 使用 navigateToURL 函数打开链接
var url:URLRequest = new URLRequest("http://www.example.com");
navigateToURL(url, "_blank"); // "_blank" 表示在新窗口打开
}
| 特性 | <object>/<embed> (传统方法) |
SWFObject (JavaScript) |
|---|---|---|
| 兼容性 | 非常好,是旧标准 | 极佳,处理各种浏览器和设备 |
| 代码可读性 | HTML 和 Flash 属性混在一起,较乱 | 清晰,HTML 结构,JS 行为分离 |
| 用户体验 | 嵌套在标签内,可能不完美 | 优雅降级直接显示 |
| 维护性 | 修改 Flash 属性需改 HTML | 非常容易,只需修改 JS 参数 |
| 推荐度 | 仅用于非常简单的或旧的页面 | 强烈推荐,是现代嵌入 Flash 的标准 |
最终建议:虽然 Flash 已经过时,但如果必须使用,请优先选择 SWFObject (方式二),它更专业、更健壮,能提供更好的用户体验。

(图片来源网络,侵删)
