核心概念

  1. Flash 文件: 你在 Flash Professional (Ancestral 版本) 中创建并导出的最终文件,格式是 .swf,这是网页中实际显示和运行的动画。
  2. 网页容器: 你在 Dreamweaver 中创建的 HTML 文件,这个 HTML 文件本身不包含 Flash 动画,而是像一个“容器”或“舞台”,用来嵌入加载 .swf 文件。
  3. 链接方式:
    • 使用 <object><embed> 标签 (传统方法):这是最经典、兼容性最好的方法。<object> 是 HTML 的标准标签,而 <embed> 是一个更早的、被广泛支持的标签,为了确保在各种浏览器中都能正常显示,通常会将它们组合使用。
    • 使用 JavaScript (SWFObject):这是现代推荐的最佳实践,它使用 JavaScript 动态地将 Flash 内容插入到页面中,提供了更好的体验,比如可以检测用户是否安装了 Flash Player,并在没有安装时显示替代内容(如一张图片或一段文字)。

准备工作

  1. 创建你的 Flash 文件: 在 Flash 中完成你的动画、按钮或交互设计。
  2. 导出为 SWF: 按 Ctrl + Enter (Windows) 或 Cmd + Enter (Mac) 测试并导出你的影片,确保你得到了一个 .swf 文件,并记下它的文件名(my_animation.swf)。
  3. 准备好替代内容: 为不支持 Flash 的用户准备一张图片或一段文字,这是良好的网页设计习惯。

使用 <object><embed> 标签 (传统方法)

这是最直接的方法,适合快速嵌入。

flash如何链接到dw网页代码
(图片来源网络,侵删)

步骤:

  1. 在 Dreamweaver 中打开或创建一个 HTML 文件。
  2. 将光标放在你希望显示 Flash 动画的位置。
  3. 切换到 Dreamweaver 的 “代码” 视图。
  4. 将下面的代码复制并粘贴到你的 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 的下载地址,如果用户没有安装或版本过低,浏览器可以提示下载。
    • widthheight: Flash 动画的尺寸(单位:像素)。
    • <p>...</p>: 这是最重要的部分! 如果用户的浏览器无法解析上面的 <object><embed> 标签(在手机上或禁用了 Flash),就会显示这段文字,这是无障碍和用户体验的关键。
  • <embed>: 非标准但被广泛支持的标签。
    • src: 这是关键! 指向你的 .swf 文件的路径,请确保路径正确(my_animation.swf 和 HTML 文件在同一个文件夹下,直接写文件名即可)。
    • type: 告诉浏览器这是一个 Flash 文件。
    • pluginspage: 指向 Flash Player 的下载页面。

使用 JavaScript (SWFObject) (推荐方法)

这种方法更优雅,更灵活,是目前公认的最佳实践。

步骤:

  1. 下载 SWFObject: 从其官方网站下载最新的 SWFObject 库,你会得到一个包含 swfobject.js 文件的压缩包。
  2. 部署文件:
    • 将你的 .swf 文件(my_animation.swf)放到你的网站文件夹中。
    • 将下载的 swfobject.js 文件也放到同一个文件夹或专门的 js 文件夹中。
  3. 在 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 为例 (更简单,适用于旧项目):

  1. 在 Flash 中,创建一个按钮(或将其转换为按钮元件)。
  2. 选中这个按钮。
  3. 打开 “动作” 面板 (F9)。
  4. 输入以下代码:
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 为例 (现代标准):

  1. 在 Flash 中,创建一个按钮(或将其转换为按钮元件)。
  2. 给这个按钮实例命名一个名字,myButton
  3. 在主时间轴上选中一帧,打开 “动作” 面板。
  4. 输入以下代码:
// 为按钮添加一个点击事件侦听器
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 (方式二),它更专业、更健壮,能提供更好的用户体验。

flash如何链接到dw网页代码
(图片来源网络,侵删)