我正在Flex Builder 3中編寫Flash應用程序。 我遇到問題。我需要Flash應用嵌入的地方的網址。如何查找嵌入了Flash文件的頁面的URL
mx.core.Application.application.url
這給了我原來的swf文件的地址,但我確實需要給SWF已嵌入在HTML文件的URL。 有沒有辦法? 謝謝! 阿里
我正在Flex Builder 3中編寫Flash應用程序。 我遇到問題。我需要Flash應用嵌入的地方的網址。如何查找嵌入了Flash文件的頁面的URL
mx.core.Application.application.url
這給了我原來的swf文件的地址,但我確實需要給SWF已嵌入在HTML文件的URL。 有沒有辦法? 謝謝! 阿里
你有2個選項。 在柔性:
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並讓flex調用這個函數。
寫另一個JS意味着另一個依賴!這是不可取的! 我現在已經發現了這個問題!但我不知道如何解決它! 我已經嵌入SWF與SWFObject! 和BrowwserManager不適用於SWFObject! 沒有錯誤,只是由bbrowserManager返回的url爲NULLL! – 2010-07-04 18:20:42
你沒有提到你正在使用SWFObject? 沒關係。 解決方案是註釋掉History.js中的一些代碼,並將它附加到HTML文件中。 這裏是你應該註釋掉的代碼。 /* if(player == null || player.object == null){ player = document.getElementsByTagName('embed')[0]; } */ and this /* if(players.length == 0 || players [0] .object == null){ var tmp = document。的getElementsByTagName(「嵌入」); players = tmp; } */ – KensoDev 2010-07-04 20:12:15
我的評論是不可讀的,所以在這裏它是一個答案。
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];
}
這應該解決您的問題。
我沒有找到第二塊代碼來評論它! 我剛剛找到第一個片段!但第二個根本不在那裏! – 2010-07-05 20:34:11
你能再看一遍嗎? btw我已經升級到Flash Builder 4(Flex 4) – 2010-07-07 22:04:13
好的!我有一個解決方案,但它並沒有真正完成工作! 我想IBrowserManager是關鍵詞! 但IBrowserManager.url返回NULL! helpppp! – 2010-07-04 00:19:54
它只適用於本地主機! 但不在服務器上!請helppppppp !!! – 2010-07-04 00:43:49