我有一个通过Eclipse启动的Flex应用程序。现在,如果我使用以下命令打开一个新的选项卡(例如,在Firefox中):
var url:String = 'DeepLinkingProject.html#view=1';
var urlReq:URLRequest = new URLRequest(url);
navigateToURL(urlReq,'_blank');我有同一个应用程序的两个实例。但我不想这样。我希望这两个组件共享相同的应用程序实例,如果我在一个浏览器选项卡中更新一个组件,我希望同步另一个浏览器选项卡。
这个是可能的吗?!
测试示例:
<?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" minWidth="955" minHeight="600" xmlns:local="*" xmlns:test="test.*" creationComplete="init()" >
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.net.navigateToURL;
import mx.events.BrowserChangeEvent;
import mx.managers.BrowserManager;
import mx.managers.IBrowserManager;
import mx.utils.URLUtil;
private var bm:IBrowserManager;
private var isParsing:Boolean;
private var title:String;
private function init():void{
bm = BrowserManager.getInstance();
bm.init("","Start");
bm.addEventListener(BrowserChangeEvent.BROWSER_URL_CHANGE, parseURL);
callLater(parseURL);
}
private function parseURL():void{
//isParsing = true;
//var o:Object = URLUtil.stringToObject(bm.fragment);
//if (o.view == undefined)
// o.view = "Home";
//bm.setTitle(title);
//isParsing = false;
}
private function updateU():void{
var fragments:String = "";
fragments = bm.fragment;
btnA.label = fragments;
/////////////////////////////////////////////////////////////////////////
// e.g. After this call, a new Browser-Tab gets opened and the
// Button Component should have the same Label content
navigateToURL(new URLRequest('DeepLinkingProject.html'));
/////////////////////////////////////////////////////////////
}
private function changeUrl():void{
bm.setFragment('view=B');
updateU();
}
]]>
</fx:Script>
<mx:VBox>
<s:Label id="header" text="Application started without Parameters"/>
<mx:HBox borderStyle="solid">
<s:Button id="btnA" click="changeUrl()"/>
</mx:HBox>
</mx:VBox>
发布于 2012-08-09 15:29:20
加载的闪存应用程序可以通过LocalConnection进行通信。因此,您可以将消息从一个应用程序发送到另一个应用程序,并复制行为。
https://stackoverflow.com/questions/11877942
复制相似问题