我正在尝试创建一个简单链接回上下文根的按钮。我注意到flex有一个@ContextRoot属性,似乎只在某些情况下有用。例如,如果我尝试在以下mxml中使用它:
<mx:Button label="Back to Root" click="navigateToURL(new URLRequest(@ContextRoot()), '_parent')"/>
我收到以下错误:错误:属性不可调用。
我似乎无法在任何地方找到这种技术,是否有另一种方式?
感谢您的帮助! 戴夫
答案 0 :(得分: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
[关于传递参数的Adobe帮助文档]
-Dave
答案 1 :(得分:0)
感谢http://devgirl.wordpress.com/这个解决方案!我认为它比Application.application.url解决方案更好:
使用HTTPService控件:
<mx:HTTPService id="home" url="@ContextRoot()"/>
然后在Action Script中:
navigateToURL(new URLRequest(home.url),"_parent");
就像一个魅力!