Flex:停止TabNavigator将#HASH添加到URL

时间:2009-12-21 21:31:36

标签: flex flex3 redirect hash history

好的我有一个TabNavigator组件,它会在URL中添加一个哈希(#)。我需要阻止这一点。我将它设置为historyManagementEnabled =“false”,但它在初始化时仍然将#添加到URL。

添加此哈希是一个问题的原因是因为我正在使用.htaccess在页面确实位于domain.com时为我的网址提供了一个像domain.com/designer/category/product/id这样的网址/product.php?pid=id因此,为了正确加载我的资产,我必须添加这样的基本标记:

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

但由于我有这个基本标记集,每当我的flex应用程序将#添加到URL时,该页面现在会自动重定向到主页。

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

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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;
        }
    }
}