我正在Flex Builder 3中编写Flash应用程序。 我有个问题。我需要嵌入Flash应用的地方的网址。
mx.core.Application.application.url
这给了我原始swf文件的地址,但实际上我需要嵌入了这个SWF的HTML文件的URL。 有办法??? 谢谢! 阿里
答案 0 :(得分:1)
您有2个选项。 在flex:
private function initApp():void {
browserManager = BrowserManager.getInstance();
browserManager.addEventListener(BrowserChangeEvent.URL_CHANGE, showURLDetails);
browserManager.init("", "Welcome!");
}
和听众
private function showURLDetails(e:BrowserChangeEvent):void {
var url:String = browserManager.url;
baseURL = browserManager.base;
fragment = browserManager.fragment;
previousURL = e.lastURL;
fullURL = mx.utils.URLUtil.getFullURL(url, url);
port = mx.utils.URLUtil.getPort(url);
protocol = mx.utils.URLUtil.getProtocol(url);
serverName = mx.utils.URLUtil.getServerName(url);
isSecure = mx.utils.URLUtil.isHttpsURL(url);
}
该代码在服务器和本地主机上都有效。
如果这对您不起作用(首先在此处上传错误),但您也可以创建一个JS函数,该函数将返回URL并灵活调用此函数。
答案 1 :(得分:0)
我的评论不可读,所以这里作为答案。
SWFObject中的代码使flash在浏览器管理器方面变得很小。 解决方案在history.js中(如果你没有,首先将它附加到HTML)
然后,注释掉这些代码行。
if (players.length == 0 || players[0].object == null) {
var tmp = document.getElementsByTagName(‘embed’);
players = tmp;
}
这一个
if (player == null || player.object == null) {
player = document.getElementsByTagName(‘embed’)[0];
}
这可以解决您的问题。