Windows 10 附带现代 Microsoft Edge 浏览器和旧版 Internet Explorer 11。
根据分析,我怀疑我的一些 Windows 10 用户使用 IE11,并且可能不知道拥有 Edge 浏览器。
如果用户在 Win10 上使用 IE11,是否可以在 HTML 中创建一个链接以在 Edge 中打开网站?
我正在一个带有服务器端渲染和 Material-ui 的 React 站点上工作。一切都很好,包括 mui JSS 的东西。
然后我从@material-ui/icons 添加了一个 SVG 图标
现在,Edge 和 IE11 正在抱怨:警告:道具d不匹配。服务器:“M 0 0 h 24 v 24 H 0 Z”客户端:“M0 0h24v24H0z”
警告表明服务器和客户端渲染不匹配,但如果我使用 curl 获得服务器渲染它是正确的,并且不包括 IE/Edge 控制台中显示的空格。
所有其他浏览器(当然)都可以。
有没有其他人只在 MS 浏览器中遇到过 SSR 问题?
这是我能得到的一个例子。它基于 material-ui-master/examples/ssr 并删除了大部分内容:
服务器.js:
import express from "express";
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import App from './App';
function renderFullPage(html) {
return `
<!doctype html>
<html>
<body>
<div id="root">${html}</div>
<script src="build/bundle.js"></script>
</body>
</html>
`;
}
function handleRender(req, res) { …Run Code Online (Sandbox Code Playgroud)internet-explorer-11 reactjs microsoft-edge material-ui server-side-rendering
尝试使用 https://www.npmjs.com/package/abortcontroller-polyfill?activeTab=readme在 IE 上使用此控制器。但它不起作用
javascript xmlhttprequest fetch internet-explorer-11 reactjs
为了支持 IE11,我必须添加<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.4.4/polyfill.min.js"></script>
到我的 .aspx 文件中。
但这会在控制台中引发此错误。
Uncaught Sys.ParameterCountException: Sys.ParameterCountException: Parameter count mismatch.
如何在不删除 Babel-polyfill 脚本的情况下解决此错误?
如果我不为 babel-polyfill 添加该脚本,则不会抛出错误。
Warning Error:
Uncaught Sys.ParameterCountException: Sys.ParameterCountException: Parameter count mismatch.
at Function.Error$create [as create] (http://.../ScriptResource.axd?d=D9...:237:15)
at Function.Error$parameterCount [as parameterCount] (http://.../ScriptResource.axd?d=D9...:413:21)
at Function$_validateParameterCount [as _validateParameterCount] (http://.../ScriptResource.axd?d=D9...:118:23)
at Function$_validateParams [as _validateParams] (https://.../ScriptResource.axd?d=D9...:70:18)
at String$startsWith (http://.../ScriptResource.axd?d=D9...:491:22)
at String.startsWith (http://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.4.4/polyfill.min.js:1:81150)
at new Sys$UI$DomEvent (http://...:3986:16)
at browserHandler (http://...:4052:42)
Run Code Online (Sandbox Code Playgroud) 我正在使用新的 URL 在我的 angular 应用程序中创建一个 URL,如下所示。这适用于除 IE11 之外的所有浏览器。
所以我尝试将“url-polyfill”添加到我的“package.json”并在 polyfills.ts 文件中使用 import 'url-polyfill' 。
但是我仍然在 IE11 中得到对象不支持此行的操作错误。任何人都可以提供一些关于我在这里做错了什么的想法。
url = new URL(url).pathname.toLowerCase()
Run Code Online (Sandbox Code Playgroud) 我的应用程序在 Firefox 和 Google Chrome 上运行良好,但不幸的是在 IE 11 或 Edge 上无法运行。我已经安装"react-app-polyfill": "^1.0.6",添加了所有需要的 polyfill,如下所述:
索引.js
import 'react-app-polyfill/ie11';
import 'react-app-polyfill/stable';
Run Code Online (Sandbox Code Playgroud)
包.json
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version",
"last 1 ie version"
]
}
Run Code Online (Sandbox Code Playgroud)
IE11 上的错误:
TypeError: Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.
_createForOfIteratorHelper
node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js:54
> 54 | throw new TypeError("Invalid …Run Code Online (Sandbox Code Playgroud) 当我尝试在 IE11(在 Windows 10 上)中浏览 netflix.com(例如)时,IE11 显示标题为“我们建议在 Microsoft Edge 中查看此网站”的页面,并且该站点会自动在 Edge 中打开。
有谁知道这是如何工作的?它是通过内部编译的站点列表还是我可以在我的网站上设置的内容完成的?
谢谢
我有一个JSFiddle,它有一个常规的html5 <audio>标签用于播放,以及一个调用javascript Audio()函数.正如预期的那样,在Chrome/Firefox/IE10中这些工作,但在IE11(昨天与Windows 8.1一起提供)这些方法都不起作用,我得到一个"Error: Not implemented "例外.我还没有看到任何关于音频在IE11上不起作用的文档 - 我的安装刚搞砸了,或者用IE11做其他人也看到了吗?
此外,在IE11中转到http://html5test.com/表示支持声音元素,但没有编解码器工作.
我在我的应用程序中使用文件上传插件,但使用浏览器按钮选择的实际文件名用户在IE 10和IE 11中的行为有所不同
<input type="file" name="testFile" id="testapiFile">
Run Code Online (Sandbox Code Playgroud)
我使用jquery表单提交方法提交表单.
在网络选项卡中,我看到文件名作为完整路径(C:\ fullpath\test.doc),但在服务器端,对于IE 10,我得到test.doc和IE11 C:fullpathtest.doc(获取无效的路径名称)
有任何想法吗 ?
谢谢,普拉茨
为什么$.support.cors false在IE 11中?我正在使用jquery 1.9.1($.fn.jquery == '1.9.1').
$.support.cors 在Chrome中使用相同版本的jquery是正确的.
jquery internet-explorer cors jquery-1.9 internet-explorer-11
javascript ×4
reactjs ×4
html ×2
jquery ×2
polyfills ×2
angular ×1
audio ×1
cors ×1
fetch ×1
html5 ×1
html5-audio ×1
jquery-1.9 ×1
material-ui ×1