Сложность доступа к API Grooveshark для JavaScript с помощью Adobe AIR - PullRequest
0 голосов
/ 11 января 2011

Я пытаюсь создать приложение Adobe AIR для целей тестирования, которое будет переходить на веб-сайт Grooveshark и взаимодействовать с проигрывателем через предоставляемый ими Javascript API, задокументировано здесь .

Например, в моем браузере я могу перейти на сайт Grooveshark и ввести в адресной строке что-то вроде:

javascript:alert(window.Grooveshark.getAPIVersion());

и получить то, что вы ожидаете.Я хотел бы иметь возможность сделать то же самое из моего приложения AIR, но у меня возникают проблемы с доступом к экземпляру класса Grooveshark, который должен быть предоставлен при загрузке страницы.

То, что у меня пока есть, этоследующим образом:

<html>
<head>
<title>GSTest</title>
<script src="AIRAliases.js" type="text/javascript"></script>
<script type="text/javascript">

    function appLoad() {

        var windowBounds = new air.Rectangle(0, 0, 1024, 768);
        var html = air.HTMLLoader.createRootWindow(true, new air.NativeWindowInitOptions(), true, windowBounds); 
        var url = new air.URLRequest("http://listen.grooveshark.com");
        html.addEventListener(air.Event.COMPLETE, completeHandler);
        html.load(url);

        function completeHandler(event) {
            air.trace(event.type);

            // begin dealing with the GS API
            getGSInfo();

        }

        function getGSInfo() {
            if(window.Grooveshark) {
                air.trace("Avaliable");
            } else { 
                air.trace("Still not available");
                setTimeout(getGSInfo, 1000);
            }
        }
    }
</script>
</head>
<body onLoad="appLoad()">
    <h1>GSTest</h1>
</body>
</html>

По сути, я не могу получить «Доступен» для распечатки, что, вероятно, означает, что я не получаю доступ к экземпляру класса правильно.

Любые идеи относительно того, чтоЯ могу делать что-то не так здесь?Я использую AIR SDK версии 2.5

Спасибо

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