как найти URL страницы, где встроен файл Flash - PullRequest
0 голосов
/ 04 июля 2010

Я пишу приложение Flash в Flex Builder 3. У меня проблема.Мне нужен URL-адрес места, где было встроено приложение Flash.

mx.core.Application.application.url

Это дает мне адрес оригиналаSWF-файл, но мне действительно нужен URL-адрес HTML-файла, в который был встроен этот SWF-файл.есть ли способ ???Спасибо!Али

Ответы [ 2 ]

1 голос
/ 04 июля 2010

У вас есть 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 и иметь функцию flex, вызывающую эту функцию.

0 голосов
/ 05 июля 2010

мой комментарий не читается, поэтому здесь он как ответ.

Код внутри SWFObject делает флеш-игру немного странной, когда дело доходит до менеджера браузера. решение находится внутри 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];
    }

Это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...