В настоящее время я создаю приложение HTML / JS AIR. Приложение должно отображать пользователю другое «окно» - в зависимости от того, запускает ли приложение приложение в первый раз или нет. Эта часть на самом деле хорошо, и у меня есть код ниже, чтобы сделать это:
if(!startUp()) { // this simply returns a boolean from a local preferences database that gets shipped with the .air
// do first time stuff
var windowOptions = new air.NativeWindowInitOptions();
windowOptions.systemChrome = 'none';
windowOptions.type = 'lightweight';
windowOptions.transparent = 'true';
windowOptions.resizable = 'false';
var windowBounds = new air.Rectangle(300, 300, 596, 490);
var newHtmlLoader = air.HTMLLoader.createRootWindow(true, windowOptions, true, windowBounds);
newHtmlLoader.load(new air.URLRequest('cover.html'));
}
else {
// display default window
// just set nativeWindow.visible = true (loaded from application.xml)
}
Однако я хочу иметь возможность манипулировать HTML-контентом из cover.html
после его загрузки. Кажется, в Интернете есть множество учебников о том, как перемещать, изменять размеры и т. Д. NativeWindow
, но я просто хочу получить доступ к HTML-содержимому NativeWindow
.
Например, как мне добавить новый абзац на эту страницу? Я пробовал следующее:
newHtmlLoader.window.opener = window;
var doc = newHtmlLoader.window.opener.document.documentElement;
Используя консоль AIR Introspector, ... .log(doc)
возвращает [object HTMLHtmlElement]
.
Хм, кажется многообещающим, верно? Затем я пытаюсь:
var p = document.createElement('p');
var t = document.createTextNode('Insert Me');
p.appendChild(t);
doc.appendChild(p);
... но ничего не вставляется. Я также пробовал следующие замены для doc
:
var doc = newHtmlLoader.window.opener.document.body; // .log(doc) -> [object HTMLBodyElement]
var doc = newHtmlLoader.window.opener.document; // .log(doc) -> Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
... а также следующее с jQuery:
$(doc).append('<p>Insert Me</p>'); // again, nothing
Итак, кто-нибудь имел опыт программного доступа к внутреннему контенту NativeWindow
? Любая помощь будет принята с благодарностью.