2009-12-21 50 views
2

好的我有一个TabNavigator组件,它为URL保留了一个散列(#)。我需要防止这一点。我将它设置为historyManagementEnabled =“false”,但它在初始化时仍将#添加到URL中。Flex:停止TabNavigator将#HASH添加到URL

加入这个散列是这样一个问题的原因是因为,当页面真的位于域中时,我使用.htaccess为我的URL提供了一个像domain.com/designer/category/product/id的漂亮URL。 ?COM/product.php PID = ID因此,为了使我的资产能够正确加载,我不得不添加一个基础标签是这样的:

<base href="http://www.MYDOMAIN.com/" /> 

但因为我有这个基础标签集,每当我的Flex应用程序添加#到网址,该页面现在自动重定向到主页。

所以我真的需要找出一种方法来阻止TabNavigator将#添加到URL中。

任何想法?

谢谢!

回答

3

关闭Flex Builder项目设置中的历史管理(在Flex编译器设置中)。

1

我能够通过扩展与TabNavigator和覆盖这些功能来解决这个问题:

package 
{ 
    import mx.containers.TabNavigator; 

    public class MyTabNav extends TabNavigator 
    { 
     public function MyTabNav() 
     { 
      super(); 
     } 

     override public function get historyManagementEnabled():Boolean 
     { 
      return false; 
     } 

     override public function set historyManagementEnabled(value:Boolean):void 
     { 
      return; 
     } 
    } 
}