![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2009
Адрес: Kazakhstan, Almaty
Сообщений: 121
|
Дано: на рабочем столе отображается веб-страничка, в нее встроена флешка.
По нажатию на кнопку необходимо передать с помощью LocalConnection сообщение о том, что пора отобразить окно InfoWindow. Принимает это сообщение флешка, собранная с помощью Zinc. Она не встроена в веб-страницу, это отдельная, запущенная программа. Ее задача - создать новую форму (createFrom) в которой нужно отобразить содержимое флешки InfoWindow. Все работает отлично, если открывать страничку с передающей флешкой любыми браузерами (IE6,7++ и др.) Проблема в том, что программа, выводящая страничку на рабочем столе, это некоторый компонент написанный для Delphi, для отображения веб-страниц и др. Вот что говорит navigator.appVersion ' 4.0 (compatible; MSIE 7.0; Windows NT 6.1; Embedded Web Browser from:bsalsa.com' Видимо, LocalConnection там и не заработает вовсе... Какие есть альтернативы для такой задачи? А именно: пользователь кликает по флешке встроенной в веб страничку, должно открываться окно с другой флешкой. Конечно, можно было бы использовать ExternalInterface, JS, чтобы открыть новое окно браузера с помощью window.open(), но в этом случае не удасться убрать заголовок окна, кнопки управления окном (закрыть, свернуть и др.) а также вокруг окна останется рамка. Есть конечно еще window.showPopupWindow, но это не подходит по причине того, что окно закрывается само по себе, если щелкнуть в любом месте за его пределами. да и swfobject там так и не заработал. (вместо флешки - установите FP) Есть еще для такой задачи решения?... хм, есть еще вариант, из той флешки которая создает формы (которая собрана с помощью Zinc и запущена в виде отдельной программы) как-то периодически опрашивать веб-страничку с флешкой, чтобы узнать, открывать окно или нет. но это как-то ненормально... извиняюсь за путаницу и ошибки в тексте, не могу нормально сформулировать всю эту ситуацию, тороплюсь. ps. конечно можно было бы создавать окна прямо во флешке с помощю addChild, но страничка с флешкой отображается не на весь экран, и окна нужно создавать именно за пределами странички, поверх рабочего стола, при этом все иконки рабочего стола должны остаться кликабельными.
__________________
заткнись и делай Последний раз редактировалось gr_crd; 05.09.2011 в 14:18. Причина: добавлено |
|
|||||
|
Очень забавная задача... до идиотизма...
Можно было бы добавить еще немного идиотизма(хотя куда уж больше) и реализовать связь через сервер. Цинковая флэшка подсоединена сокетом к серверу. Браузерная шлет хттп запрос. Сервер, получая хттп запрос, оповещает цинковую флэшку по сокету. Идиотским задачам - идиотские решения ![]() |
|
|||||
|
Регистрация: Mar 2009
Адрес: Kazakhstan, Almaty
Сообщений: 121
|
ну это понятно, что идиотская. но таковы ее условия, и изменить, увы нельзя.
__________________
заткнись и делай |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 1,764
|
а не проще было бы на Air все это сделать и не мудрить
__________________
а за окном атлантический океан! |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 14
|
Если все, что вы хотите должно работать под виндами и на одной машине, то:
function doie(s) {
ie.navigate("about:blank");
ie.ToolBar = 0;
ie.MenuBar = 0;
ie.StatusBar = 0;
ie.Resizable = 0;
ie.Left = 200;
ie.Top = 200;
ie.Width = 350;
ie.Height = 100;
ie.Visible = 1;
while (ie.Busy) WScript.Sleep(10);
d = ie.Document;
d.writeln(s);
d.getElementById("a").style.width=0;
d.getElementById("a").style.height=21;
/*
for (i=1; i<101; i++) {
d.getElementById("lab").innerHTML = "<b>" + i + "%</b>";
d.getElementById("a").style.width = i*3;
d.getElementById("a").style.background = "black";
while (ie.Busy) WScript.Sleep(10);
}
ie.Visible = 0;
*/
}
var ie = WScript.CreateObject("InternetExplorer.Application", "IE_");
var s = "kjlfkdsglsdjfgkljsdlfkglksdjfgkjdflj";
s += "<title></title>";
s += "<style>body{background:lightgrey}; label {font-family:tahoma;font-size:11px}</style>";
s += "<center>";
s += "<label id=lab></label>";
s += "<table style='width=300'><tr><td id=a><td></table>";
doie(s);
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|