【问题标题】:Cordova run browser on Internet Explorer or Microsoft Edge failsCordova 在 Internet Explorer 或 Microsoft Edge 上运行浏览器失败
【发布时间】:2019-10-01 03:06:04
【问题描述】:

我创建了一个 Cordova 项目并将其与 Angular 6 集成,在使用命令 Cordova Platform Add Browser 添加浏览器平台之后,在执行 ng build 并使用 Cordova 托管角度输出后,使用命令 Cordova Run browser,它在 chrome 中运行良好browser ,但是对于 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()

我们尝试在 index.html 中添加缺失的 polyfills 和 shims 以及 meta http-equiv,如下所示

<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" />

当我们在 Internet Explorer 或 Microsoft Edge 中执行 cordova run browser 并启动托管的 Angular 网站时,它的工作方式应该与在 chrome 浏览器中类似。

【问题讨论】:

  • 只有错误信息并不能帮助找到问题的原因。您能否向我们提供您的示例代码的详细步骤?还请告知我们您指的是执行代码的文档。我们将尝试检查并尝试产生问题。
  • @Deepak-MSFT 我已经编辑了问题,提供了有关问题的更多详细信息
  • 为了测试目的,你可以尝试创建一个空的新项目并尝试使用IE和Edge进行测试吗?了解是否存在任何与配置相关的问题或与编码相关的问题可能会有所帮助。

标签: angular internet-explorer angular6 phonegap apache-cordova


【解决方案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" 

【讨论】:

    猜你喜欢
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    相关资源
    最近更新 更多