Запуск браузера Cordova в Internet Explorer или Microsoft Edge не работает

Я создал проект Cordova и интегрировал его с Angular 6, после чего добавил платформу браузера с помощью команды Cordova Platform Add Browser, после выполнения сборки ng и размещения вывода angular с помощью Cordova, используя команду Cordova Run browser, он отлично работает в браузере Chrome, однако для Internet Explorer или Microsoft Edge он не может отобразить страницу и выдает сообщение об ошибке ниже

System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.

Parameter name: requestMsg

   at System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

   at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

   at System.Runtime.Remoting.MetadataServices.SdlChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)

   at System.Runtime.Remoting.Channels.Http.HttpServerTransportSink.ServiceRequest(Object state)

   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()

Мы попытались добавить отсутствующие полифилы и прокладки, а также мета http-эквиваленты, как показано ниже в index.html.

<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.13/es5-sham.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

Когда мы запускаем браузер Cordova и запускаем размещенный угловой веб-сайт в Internet Explorer или Microsoft Edge, он должен работать так же, как в браузере Chrome.


person abhishek saatal    schedule 14.05.2019    source источник
comment
Только сообщение об ошибке не поможет найти причину проблемы. Можете ли вы предоставить нам подробные шаги с вашим образцом кода? Также сообщите нам, какую документацию вы ссылаетесь на выполнение вашего кода. Мы постараемся проверить это и попытаться создать проблему.   -  person Deepak-MSFT    schedule 14.05.2019
comment
@Deepak-MSFT Я отредактировал вопрос, предоставив более подробную информацию о проблеме.   -  person abhishek saatal    schedule 14.05.2019
comment
Можете ли вы в целях тестирования создать пустой новый проект и протестировать его с помощью IE и Edge? Это может помочь понять, есть ли проблема, связанная с конфигурацией, или проблема, связанная с кодированием.   -  person Deepak-MSFT    schedule 14.05.2019


Ответы (1)


Попробовав в течение дня, обнаружил, что используется порт 8000 по умолчанию, поэтому его пришлось изменить в файле run.js, найденном по пути «platforms\browser\cordova\», со следующими значениями.

args.port = args.port || 8100;
args.target = args.target || "ie";//prior to this instead of "ie" it was "chrome" 
person abhishek saatal    schedule 15.05.2019