Действительно, вы можете написать класс .Net и создать его экземпляр из JavaScript в IE.
- Сделай свой класс
ComVisible
- Дайте вашему классу
ProgId
- Зарегистрируйте сборку .Net с помощью
regasm
- В вашем коде JavaScript звоните
new ActiveXObject
В любом случае, проблема безопасности сохраняется: пользователю придется вручную разрешить выполнение ActiveX.
Насколько я помню, должно быть что-то вроде этого (не проверено):
В C #:
[ComVisible(true)]
[ProgId("MyCompany.MyClass")]
public class MyClass
{
public string UserName
{
get { return Environment.UserName; }
}
}
В консоли администратора:
regasm MyClass.dll
В JavaScript:
var myClass = new ActiveXObject("MyCompany.MyClass");
alert(myClass.UserName);