Flex调用JavaScript打开新窗口的实现方法
作者:拾光时间:2026-10-28 02:59:54浏览:382
本文介绍如何在Flex应用中通过ExternalInterface调用JavaScript来打开新窗口。示例代码展示了如何构建包含窗口参数、尺寸调整和位置移动的JS字符串,并通过按钮点击事件触发该逻辑,实现指定URL的全屏弹出窗口效果。
Flex调用JavaScript打开新窗口示例代码
测试应用TestJavascript.mxml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
private function openWindow(pageUrl:String,pageName:String):void{
var jsString:String="";
jsString+=" var screenWidth = screen.availWidth, screenHeight = screen.availHeight;";
jsString+=" var args = 'toolbar=no, menubar=no, scrollbars=no,resizable=yes,location=no, status=no';";
//打开全屏的新窗口
jsString+=" var win = window.open('"+pageUrl+"','"+pageName+"',args);";
jsString+=" if(win){"
jsString+=" win.resizeTo(screenWidth,screenHeight);"
jsString+=" win.outerWidth = screenWidth;"
jsString+=" win.outerHeight = screenHeight;"
jsString+=" win.moveTo(0,0);"
jsString+=" }";
ExternalInterface.call("function(){"+jsString+"}");
}
protected function openButton_clickHandler(event:MouseEvent):void
{
openWindow("http://www.baidu.com","百度");
}
]]>
</fx:Script>
<s:Button id="openButton" label="打开百度" click="openButton_clickHandler(event)"/>
</s:Application> 
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
