`
aijun980204
  • 浏览: 96428 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Flex获取窗体大小 Flex与JS互相调用

    博客分类:
  • flex
阅读更多
有时我们需要弹出自定义提示框,并显示在屏幕中心,这是需要根据浏览器大小来动态或得浏览器中心位置的坐标,这时可以使用 flex和html里的js进行 通讯,来获取。
效果图:


使用ExternalInterface.addCallback 来发布 ActionScript 要提供给 JavaScript 调用的函数或方法,执行完 ExternalInterface.addCallback 后,通过 ExternalInterface.call 方法调用 JavaScript 中的方法获取屏幕参数。

详细复制下面代码运 行
1.favzone.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml " layout="absolute"
    backgroundColor="#FFFFFF"
    creationComplete="init()">
    <mx:Script>
        <![CDATA[
        import mx.core.Container;
        import flash.external.ExternalInterface;
        import mx.containers.Canvas;
        [Bindable]
        private var screenWidth:int = new int();
        [Bindable]
        private var screenHeight:int  = new int();    
                
        internal function init():void{
            ExternalInterface.addCallback("setScreenSize",setScreenSize);
              ExternalInterface.call("getScreenSize",setScreenSize);
        }
        
        private function setScreenSize(width:int,height:int):void
        {
            this.screenWidth = int(width);
            this.screenHeight = int(height);
        }            
        ]]>
    </mx:Script>
    
    <mx:Text  text="screenWidth:{screenWidth}"/>
    <mx:Text  text="screenHeight:{screenHeight}" y="42"/>
</mx:Application>


calljs.js

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}

// send to flex
function getScreenSize()
{
     var size = [];
     size = getSize();
     thisMovie("favzone").setScreenSize(size[0],size[1]);
}
//get size
function getSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  var size = [];
  
  size[0] = myWidth;
  size[1] = myHeight;
  return size;
}


最 后在调用favzone.swf的页面中引用这个js
<script src="calljs.js" language="javascript"></script>
分享到:
评论

相关推荐

    Flex 与 html 交互 调用本地html

    Flex 与 html 交互 用 fb3的例子修改的,写明了注意事项,请按照注意事项去实现,debug形式不显示本地html

    Flex 调用天地图路径规划接口

    实现了Flex 调用天地图路径规划接口,自动获得两点之间的公交规划路线,并用不同线行在地图窗口展示。

    Flex父子窗口相互调用实现思路及

    主要介绍了Flex父子窗口相互调用实现思路及源码,需要的朋友可以参考下

    flex3的cookbook书籍完整版dpf(包含目录)

    20.3节在Flex里面调用JavaScript函数方法 20.4节在JavaScript中调用ActionScript方法函数 20.5节经由BrowserManager改变HTML页面标题 20.6节BrowserManager解析URL 20.7节经由BrowserManager深度-链接到数据 20.8节...

    Flex调Javascript打开新窗口示例代码

    Flex通过调用Javascript打开全屏的新窗口新窗口示例代码 ,具体实现代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助

    FLEX:适用于iOS的应用内调试和探索工具

    出现时,FLEX显示一个工具栏,该工具栏位于应用程序上方的窗口中。 通过此工具栏,您可以查看和修改正在运行的应用程序中的几乎每个状态。 给自己调试超级大国 检查和修改层次结构中的视图。 查看任何对象的属性和...

    ActionScript开发技术大全

    26.1.2ActionScript与JavaScript交互 566 26.1.3ActionScript与桌面程序交互 567 26.2网页脚本交互示例 568 26.3桌面应用交互示例 571 26.4小结 573 第27章ActionScript打印控制 574 27.1使用打印作业对象 574 ...

    mms2FlexChat:允许客户发送MMS媒体并在“灵活聊天”窗口中呈现

    send-media-message.js:Flex插件调用此Twilio函数,以使用Messages API将媒体发送给收件人。 这是因为Proxy当前不支持媒体消息,因此我们必须绕过Proxy并直接调用Messages API。 您需要在Twilio控制台中上载/复制...

    清IE浏览器缓存

    自已修改的。所有集成到一个bas模块里面,调用只调用一句就行,实现没有窗口,无介面,零打扰的清理IE缓存。带整个工程。

    适用于iOS的应用内调试和探索工具-Swift开发

    FLEX FLEX(Flipboard Explorer)是用于iOS开发的一组应用程序内调试和探索工具。 出现时,FLEX显示一个工具栏,该工具栏位于应用程序上方的窗口中。 在此工具栏中,您可以查看FLEX FLEX(Flipboard Explorer)是...

    大文件及文件夹上传(不错的程序)

    经过两天的研究实现了基本的功能。在安全性配置方面暂时的方案是将网站添加...ps:这两天也学了点flex,有哪位知道silverlight或者flex在form-auth方面是需要编码发送数据认证还是可以自动读取同域的cookie发送进行认证?

    iOS应用内调试工具

    在调用FLEX时,应用窗口会显示一个工具栏,而在这个工具栏中,开发者可以对正在运行中的App的每一处状态进行查看或修改。 主要特性如下: 在层级中检查和修改视图; 可查看任意对象的属性和变量,并支持动态调整...

    ActionScript开发人员指南中文版

    避免与安全相关的JavaScript错误 通过JavaScript访问AIRAPI类 关于AIR中的URL 使ActionScript对象可用于JavaScript 从ActionScript访问HTMLDOM和JavaScript对象 在HTML中嵌入SWF内容 在HTML页中使用ActionScript库 ...

    asp.net知识库

    窗体 如何实现web页面的提示保存功能 在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除...

    flexDash:一个 JQueryUI 插件,用于创建由多个小部件组成的用户可自定义仪表板页面(类似于 MyYahoo.com、Start.Me 和 Protopage.com)

    小部件是分隔区域,类似于标准窗口,可以在仪表板周围拖放。 每个小部件都有一个标题,其中包含用于触发“编辑”、“删除”、“显示信息”和“刷新”操作的按钮。 flexDash 客户端应用程序负责为每个动作提供处理...

    vc代码合集

    2012-06-11 09:50 3,412,722 内部文件非内部程序员禁止访问谢谢1234567890123456789能够实现文件的多选,统一上传,从而实现文件的批量上传Flex多文件上传源码VS2005.rar 2012-06-11 10:08 1,481,225 几个C语言小...

    emWin5用户手册(中文)

    emWin 图形库 图形用户界面 版本 5.12 手册修订版 0 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co....9 1 emWin 简介...................................................................

Global site tag (gtag.js) - Google Analytics