首页
学习
活动
专区
圈层
工具
发布

js 获取 flash 尺寸

JavaScript 本身无法直接获取 Flash 对象的尺寸,因为 Flash 是一种基于插件的技术,而现代浏览器已经逐渐淘汰了对 Flash 的支持。然而,如果你仍然需要在旧版浏览器或特定场景下获取 Flash 对象的尺寸,可以使用以下方法:

基础概念

Flash 是一种用于创建动画和交互式内容的插件技术。它允许开发者使用 ActionScript 编程语言来创建丰富的多媒体应用程序。在网页中嵌入 Flash 内容通常使用 <object><embed> 标签。

获取 Flash 尺寸的方法

由于 Flash 对象是通过插件运行的,JavaScript 需要通过插件提供的接口来获取其尺寸。以下是一个示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Get Flash Size</title>
</head>
<body>
    <object id="myFlash" type="application/x-shockwave-flash" data="your_flash_file.swf" width="550" height="400">
        <param name="movie" value="your_flash_file.swf" />
        <param name="quality" value="high" />
    </object>

    <script>
        function getFlashSize() {
            var flashObject = document.getElementById('myFlash');
            if (flashObject && flashObject.SetVariable) {
                // 使用 Flash 插件提供的 SetVariable 方法获取尺寸
                var width = flashObject.SetVariable("width", "");
                var height = flashObject.SetVariable("height", "");
                console.log('Flash Width:', width);
                console.log('Flash Height:', height);
            } else {
                console.log('Flash plugin not supported or not loaded.');
            }
        }

        // 确保 Flash 对象加载完成后再获取尺寸
        window.onload = getFlashSize;
    </script>
</body>
</html>

优势

  • 兼容性:在旧版浏览器中仍然可以工作。
  • 灵活性:可以通过 JavaScript 动态获取和调整 Flash 对象的尺寸。

类型

  • 内联嵌入:使用 <object><embed> 标签直接嵌入 Flash 文件。
  • 外部嵌入:通过 JavaScript 动态创建和插入 Flash 对象。

应用场景

  • 旧版网站:在仍然需要支持 Flash 的旧版网站中。
  • 特定需求:某些特定功能或内容仍然依赖 Flash 技术。

可能遇到的问题及解决方法

  1. Flash 插件未安装:用户浏览器可能没有安装 Flash 插件。可以通过检测插件是否存在来处理这种情况。
  2. Flash 插件未安装:用户浏览器可能没有安装 Flash 插件。可以通过检测插件是否存在来处理这种情况。
  3. 跨域问题:如果 Flash 文件和 HTML 页面不在同一个域,可能会遇到跨域安全限制。可以通过在 Flash 文件中设置跨域策略文件来解决。
  4. 跨域问题:如果 Flash 文件和 HTML 页面不在同一个域,可能会遇到跨域安全限制。可以通过在 Flash 文件中设置跨域策略文件来解决。

注意事项

  • 安全性:Flash 插件存在安全漏洞,建议尽量减少使用或寻找替代方案。
  • 性能:Flash 内容可能会影响页面性能,特别是在移动设备上。

希望这些信息对你有所帮助。如果你有其他问题或需要进一步的帮助,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android 获取屏幕尺寸与密度

    android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲测一下...测试参数: 测试环境: i9000(三星) 物理屏幕:480*800px density :1.5 测试代码: // 获取屏幕密度(方法1) int screenWidth =...getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight); // 获取屏幕密度...(111)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight); // 获取屏幕密度...放大了实际屏幕值,例如:HTC G14 在HTC G14上,实际屏幕大小,直接通过dm.widthPixels、dm.heightPixels便得到了实际物理屏幕大小(540,960) 导致无法通过一种通用的方法获取真实物理屏幕大小的原因

    2.8K30

    js小技巧:延时加载Flash

    当页面中包含自动播放视频的flash播放器时,flash的流媒体播放会一直不停的下载视频(哪怕你点击了播放暂停/停止也一样在不停下载),这样会影响到页面其它元素的加载。...最简单的优化办法就是让Flash一开始不要播放:当然,你可以修改fla源文件,让视频播放一开始就处于暂停,直到用户点击了播放按钮。...但问题是,如果您嵌入的是没有源文件的flash动画,这种路子就走不通了。 思路: 可以先在放置flash的地方,放一张小图片,点击图片后再把图片元素换成对应的object标签。 js...images/rbtvs_play.gif" style="cursor:pointer" alt="点击播放视频" /> 运行代码 (注:如果点击运行代码后报js

    3K100

    整理获取 viewport 和 element 尺寸和位置方法

    整理获取 viewport 和 element 尺寸和位置方法 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 视口页面或窗口的位置和宽高 获取视口宽高 下面方法是包括滚动条的宽高,不支持 IE8...window.innerWidth window.innerHeight width + padding + border + 滚动条 另外 outerWidth 浏览器兼容差,可获取包括工具栏的宽高...元素占用的空间尺寸和位置 getBoundingClientRect 使用方法 getBoundingClientRect() 返回的值见下图: ?.../border-top-width 的值,就是边框的宽度 offsetWidth/offsetHeight 同样可以使用 offsetWidth/offsetHeight 来获取元素包括滚动条和边框的尺寸...= null) { x += e.offsetLeft; y += e.offsetTop; e = e.offsetParent; // 获取最近的祖先定位元素

    1.5K20

    js判断浏览器是否支持flash

    检查浏览器是否启用flash控件,需要先检查浏览器是否支持ActiveXObject,可以使用typeof检查window.ActiveXObject是否等于undefined。...undefined" 如果,window.ActiveXObject不等于undefined,使用new  ActiveXObject("ShockwaveFlash.ShockwaveFlash")返回flash...Safari等现代浏览器不支持ActiveXObject,它们支持navigator.plugins检查浏览器插件,因此谷歌、火狐等浏览器都可以使用navigator.plugins检查浏览器是否启用flash...插件,可以使用下面的代码返回flash插件: var swf = navigator.plugins['Shockwave Flash']; 封装一个兼容性代码: function hasUsableSWF...true : false; }; 上面的hasUsableSWF检查浏览器是否支持flash,如果支持返回true, 否则返回false。

    7.7K10
    领券