Я пытаюсь создать приложение 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
Спасибо