Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№105-07-2008 01:22:57

netz
Участник
 
Группа: Members
Зарегистрирован: 03-07-2008
Сообщений: 4
UA: Opera 9.5

Средствами XPCOM или JavaScript подписаться на событие нажатия кнопки

Возможно ли средствами XPCOM или JavaScript подписаться на событие нажатия кнопки?
После загрузки страницы, к ней можно получить доступ через объектную модель. Позволяет ли эта модель делать вот такие вещи? (Далее пример из Internet Explorer)

Выделить код

Код:

CComQIPtr<IHTMLDocument3> spDoc3;
CComPtr<IHTMLElement> pButton;
spDoc3->getElementById ( CComBSTR(_T("здесь id кнопки") ), &pButton );
pButton->onclick = НАШ_ОБРАБОТЧИК

НАШ_ОБРАБОТЧИК хочется размещать внутри XPCOM или JavaScript.

Сейчас у меня сделано следующим образом:
HTML

Выделить код

Код:

<HTML>
<SCRIPT SRC="test.js"></SCRIPT>
<BODY>
<input type="text" id="input_txt" value="">
<input type="button" value="Submit" onclick="CheckVal();">
</BODY>
</HTML>

JS

Выделить код

Код:

function CheckVal() {
	try {
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		const cid = "@бла-бла-бла/бла;1";
		obj = Components.classes[cid].createInstance();
		obj = obj.QueryInterface(Components.interfaces.IMyCom);
	} catch (err) {
		alert(err);
		return;
	}
	var us_val = document.getElementById("input_txt").value;
	var res = obj.DoIt(us_val);
}

Но реализация мне не очень нравится.
Выскакивает вот такое окошко, от которого хочется избавиться:
jYUZTWu9IG.jpg

Помогите решить проблему :whiteflag::cry: Я конечно могу найти и заранее прописать разрешение на запуск, но этот вариант очень не хотелось бы использовать.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]