Кордова запускает браузер в Internet Explorer или Microsoft Edge не работает - PullRequest
1 голос
/ 14 мая 2019

Я создал проект Cordova и интегрировал его с Angular 6, там после добавления платформы браузера с помощью команды Cordova Platform Add Browser, после выполнения ng build и размещения углового вывода с помощью 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.

1 Ответ

1 голос
/ 15 мая 2019

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

args.port = args.port || 8100;
args.target = args.target || "ie";//prior to this instead of "ie" it was "chrome" 
...