无痕客

落花无情,流水无痕……

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

I recently had a reason to do this, and saw that many people online are having problems. Here’s a solution, and a few notes to help. First the Flex code:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="30" horizontalScrollPolicy="off" verticalScrollPolicy="off" backgroundColor="#000000" backgroundGradientAlphas="{[0,0]}">
<mx:Script>
<![CDATA[
import flash.net.URLRequest;
//private var contentFrame:
private var myArr:Array = new Array("home","bio","contact");

]]>
</mx:Script>
<mx:ButtonBar width="100%" height="100%" dataProvider="{myArr}" itemClick="navigateToURL(new
URLRequest(event.label+'.html'),'contentFrame');" color="#ffffff"/>
<mx:Label id="test" y ="150" /></mx:Application>

Here’s an example (you can view page source to see the HTML):

A few notes:

In AS3:

The frame name must by exactly the same (of course! – but this came up in the forums), and must be a string, passed as a parameter in navigateToURL (in place of “_blank” etc)

In AS2: (Flash): The parameter is ’supposed’ to be a string here as well, but I could only get it to work with out the quotes (as a var) – here you use the getURL() method.

Note: if using relative urls, it will appear not to work while developing, but should once you get it on the server – flash security. This seems o only be the case with as3

Cheers,




转自:http://blog.flexcommunity.net/?p=128
posted on 2009-10-15 14:17  无痕客  阅读(329)  评论(0编辑  收藏  举报