0

我正在尝试创建一个简单地链接回上下文根的按钮。我注意到 flex 有一个 @ContextRoot 属性,该属性似乎只在某些情况下有效。例如,如果我尝试在以下 mxml 中使用它:

<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>

我收到以下错误:错误:属性不可调用。

我似乎在任何地方都找不到这种技术的解释,还有其他方法吗?

谢谢您的帮助!戴夫

4

2 回答 2

1

好吧,我发现最干净的方法是在脚本块中使用一个函数,而不是像这样使用@ContextRoot:

private function goBacktoHompage():void
 {
  baseURL = Application.application.url;
  var tempUrl:String = baseURL.substr(7,baseURL.length);
  var tempUrlArr:Array = tempUrl.split("/");
  var contextRoot:String = tempUrlArr[1];
  var u:URLRequest = new URLRequest("/" + contextRoot);
  navigateToURL(u,"_parent");
 }

我会假设有一种更简单的方法可以使用@ContextRoot,因此欢迎任何其他不使用相对路径的答案!

感谢这些网站的帮助:

http://blog.devsandbox.co.uk/?p=174

[有关传递参数的 Adob​​e 帮助文档]

-戴夫

于 2010-05-14T15:10:41.297 回答
0

感谢http://devgirl.wordpress.com/提供此解决方案!我认为它比 Application.application.url 解决方案更好:

使用 HTTPService 控件:

<mx:HTTPService id="home" url="@ContextRoot()"/> 

然后在动作脚本中:

 navigateToURL(new URLRequest(home.url),"_parent");

奇迹般有效!

于 2010-06-14T20:06:19.947 回答