как поддерживать элемент управления ActiveX в приложении, созданном с помощью Node.js и angular5 - PullRequest
0 голосов
/ 09 января 2019

Я хочу создать отдельное приложение, которое создается с помощью node.js и angular5. это приложение использует activexobject. Я хочу включить ActiveX в автономном приложении.

Я выполнил несколько рекомендаций по созданию автономного приложения, созданного с помощью node.js. Я попробовал appjs. но там я получаю сообщение об ошибке «Не удалось загрузить элемент управления ActiveX. Пожалуйста, проверьте настройки безопасности браузера! '.

Я использовал эту библиотеку:

https://github.com/appjs/appjs

Я не могу использовать Electron, потому что он основан на Chrome, который не поддерживает ActiveX. Я нашел это по ссылке ниже

https://stackoverflow.com/a/36314844/3366119

var app = module.exports = require('appjs');

app.serveFilesFrom(__dirname + '/Source/dist');

var menubar = app.createMenu([{
  label:'&File',
  submenu:[
    {
      label:'E&xit',
      action: function(){
        window.close();
      }
    }
  ]
},{
  label:'&Window',
    submenu:[
    {
      label:'Fullscreen',
      action:function(item) {
        window.frame.fullscreen();
        console.log(item.label+" called.");
      }
    },
    {
      label:'Minimize',
      action:function(){
        window.frame.minimize();
      }
    },
    {
      label:'Maximize',
      action:function(){
        window.frame.maximize();
      }
    },{
      label:''//separator
    },{
      label:'Restore',
      action:function(){
        window.frame.restore();
      }
    }
  ]
 }]);

menubar.on('select',function(item){
  console.log("menu item "+item.label+" clicked");
});

var trayMenu = app.createMenu([{
  label:'Show',
  action:function(){
    window.frame.show();
  },
},{
  label:'Minimize',
  action:function(){
    window.frame.hide();
  }
},{
  label:'Exit',
  action:function(){
    window.close();
  }
}]);

var statusIcon = app.createStatusIcon({
  icon:'./data/content/icons/32.png',
  tooltip:'AppJS Hello World',
  menu:trayMenu
});

var window = app.createWindow({
  width  : 800,
  height : 600,
  icons  : __dirname + '/content/icons'
 });

window.on('create', function(){
  console.log("Window Created");
  window.frame.show();
  window.frame.center();
  window.frame.setMenuBar(menubar);
});

window.on('ready', function(){
  console.log("Window Ready");
  window.process = process;
  window.module = module;

   function F12(e){ return e.keyIdentifier === 'F12' }
  function Command_Option_J(e){ return e.keyCode === 74 && e.metaKey && 
  e.altKey }

  window.addEventListener('keydown', function(e){
     if (F12(e) || Command_Option_J(e)) {
      window.frame.openDevTools();
    }
  });
});

window.on('close', function(){
  console.log("Window Closed");
});

Я хочу создать отдельное приложение, созданное с помощью Node.js и angular5 с поддержкой ActiveX. Любое предложение будет высоко оценено.

1 Ответ

0 голосов
/ 10 января 2019

Пожалуйста, попробуйте обратиться к этой статье , чтобы настроить параметры безопасности интернет-браузера и включить ActiveX в браузере IE. Вот два потока с одинаковой ошибкой, вы можете ссылаться на них: link1 и link2 . Кроме того, если вы хотите использовать Activex в Chrome, вы можете использовать расширение IE Tab .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...