Элементы управления в диалоговом окне оповещения Firefox () не перечисляются.То есть они не существуют как отдельные окна, как в IE.Лучший способ добиться этого - создать новый класс DialogHandler
, который реализует IDialogHandler
.В конструкторе вы можете передать экземпляр Firefox, для которого открывается диалоговое окно, и использовать следующий код для отправки JavaScript в Firefox для управления диалоговым окном:
FFDocument nativeDoc = firefox.NativeDocument as FFDocument;
// ClientPort has several WriteAndRead... functions,
// and takes a variable list of arguments for the script
// to be executed.
nativeDoc.ClientPort.WriteAndRead(script);
Вы можете использовать приведенный ниже JavaScript длянажмите кнопку «ОК» и «Отмена» в диалоговом окне «Предупреждение» () или «Подтвердить» (*).
private const string DialogIsConfirmScript = "typeof getWindows()[{0}].document.documentElement.getButton('accept') !== 'undefined' && typeof getWindows()[{0}].document.documentElement.getButton('cancel') !== 'undefined';";
private const string DialogIsAlertScript = "typeof getWindows()[{0}].document.documentElement.getButton('accept') !== 'undefined' && typeof getWindows()[{0}].document.documentElement.getButton('cancel') !== 'undefined' && getWindows()[{0}].document.documentElement.getButton('cancel').hidden;";
private const string ClickCancelButtonScript = "getWindows()[{0}].document.documentElement.getButton('cancel').click()";
private const string ClickOKButtonScript = "getWindows()[{0}].document.documentElement.getButton('accept').click()";
private const string WindowClassName = "MozillaDialogClass";
Более полная реализация, которая оборачивает собственную обработку предупреждений IE () и подтверждения () в общий интерфейсдобавляет, что обработка Firefox доступна на http://pastebin.com/ZapXr9Yf