Java/JS获取flash高宽的具体方法


### Java中获取Flash高宽(假设Flash已被嵌入为HTML元素)

在Java中直接获取Flash(现在通常指SWF文件嵌入的HTML元素)的高宽比较困难,因为Java主要运行在服务器端或桌面应用程序中,而Flash内容通常是通过浏览器客户端渲染的。不过,如果你是在使用Java的Web技术(如JSP, Servlet等)结合JavaScript,可以通过JavaScript获取Flash的高宽,并通过Ajax等方式传递给Java后端。

这里提供一个基于JavaScript的解决方案,你可以在你的HTML页面中嵌入这个JavaScript代码,并通过某种方式(如Ajax)将结果发送到Java后端:


<script>
// 假设Flash对象有一个ID为"flashObject"
function getFlashDimensions() {
    var flashElement = document.getElementById("flashObject");
    if (flashElement) {
        var width = flashElement.offsetWidth; // 获取元素包括滚动条在内的宽度
        var height = flashElement.offsetHeight; // 获取元素包括滚动条在内的高度
        // 这里可以通过Ajax将width和height发送到Java后端
        console.log("Flash Width: " + width + ", Height: " + height);
    } else {
        console.log("Flash object not found!");
    }
}

// 调用函数
getFlashDimensions();
</script>

<!-- 假设Flash对象嵌入方式如下 -->
<object id="flashObject" width="550" height="400" data="your-flash-file.swf">
    <param name="movie" value="your-flash-file.swf" />
    <!-- 其他Flash参数 -->
</object>

### JavaScript中获取Flash高宽

上面的JavaScript代码已经展示了如何在客户端获取Flash对象的高宽。这是最直接的方法,因为Flash通常作为HTML的一部分在客户端渲染。

### 注意

- Flash技术已经在多数现代浏览器中不再受支持,因此如果你的应用仍然依赖于Flash,建议考虑迁移到其他技术,如HTML5的`

- 如果你确实需要在Java中获取Flash的高宽,并且Flash是通过某种方式嵌入到JavaFX或Swing应用中(这非常不常见),你可能需要查看相关的JavaFX或Swing文档,了解如何与嵌入的Web组件交互。然而,这种情况下的解决方案将高度依赖于具体的实现和第三方库。