javascript - 如何保持 HTML 页面中 SWF 文件的大小?

标签 javascript jquery flash html

我有许多 SWF 文件,我已使用 HTML 对象标记将这些文件包含在我的网页中。它工作正常,但是我无法保持 SWF 文件的大小。我有以下 SWF 文件代码。

<object id="example_flashGame" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400">
        <param name="movie" value="/video/swf/fun/funny-baby.swf" />
        <param name="allowScriptAccess" value="always" />
        <param name="loop" value="false" />
        <param name="menu" value="false" />
        <param name="quality" value="high" />
        <param name="wmode" value="window" />

        <embed name="example_flashGame" src="/video/swf/fun/funny-baby.swf" width="600" height="400" allowScriptAccess="always" loop="false" menu="false" quality="high"  wmode="window" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
 </object>

目前,SWF 文件的大小(宽度和高度)固定在上述代码的对象标记中。我希望当大小超过一定范围时,恒定大小将应用于文件,否则,文件将以其原始大小显示。

如果文件的大小小于我在对象标记中给出的大小,则 SWF 文件图形会扭曲并且看起来不太好。

谁能告诉我,如果文件大小小于 600x400,如何使 SWF 文件的大小自动调整?如果文件大小超过 600x400,则应用此大小,否则文件应以其原始大小显示。

我见过一些游戏网站(例如 miniclip.com)做完全相同的事情,他们在游戏页面上显示游戏的原始大小(小或大),他们是否在数据库表中维护文件的高度和宽度或者其他什么?

有没有办法在 HTML 中或使用 JQuery 或 javascript 来做到这一点?

最佳答案

没有办法简单地从 JS 中检测 Flash stage 的大小。您最好从 Flash 内部调用 JS 函数来设置舞台大小。

因此,您必须将此代码放入 Flash 影片 (AS2) 中:

import flash.external.ExternalInterface;
ExternalInterface.call("resizeFlash", Stage.width, Stage.height);

然后在 HTML 页面中,您将拥有调整 Flash 元素大小的 JS 函数:

var max_flash_width = 800;
var max_flash_height = 600;

function resizeFlash(w, h)
{
    // force the w and h to be within limits set above
    w = Math.min(w, max_flash_width);
    h = Math.min(h, max_flash_height);
    // then resize the flash element using w and h
    var flash_elem = document.getElementById("example_flashGame");
    flash_elem.width = w;
    flash_elem.height = h;
    if (navigator.userAgent.toLowerCase().indexOf("safari") !=- 1) {
        var flash_elem = document.getElementById("example_flashGame");
        flash_elem.width = w;
        flash_elem.height = h;
    }
}

关于javascript - 如何保持 HTML 页面中 SWF 文件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1141739/

相关文章:

javascript - 网站之间的通信(使用 Javascript 或?)

javascript - 验证更改时的 bootstrap-datepicker 字段

javascript - 如何创建 javascript 类或模块,我需要在页面上有 2 个实例

flash - multipart/x-mixed-replace ActionScript3 和 Google Chrome(以及其他)

javascript - 调整到浏览器大小的 2 部分 CSS "wallpaper"

javascript - 优化js - 保存对象中复选框的值

javascript - undefined 不是 maphilight.js 中的函数

javascript - 更改任何已经具有特定背景颜色的 TD 的背景颜色

flash - 保存没有文件引用的下载

javascript - 是否有 ActionScript 3 到 JavaScript(反之亦然)的迁移指南?