javascript - D3js v5.16.0 没有在 IE>11 中加载,它在 d3.min.js/d3.js 中使用了 fetch
问题描述
我没有使用任何框架或任何其他平台,如 nodejs。它是纯 Javascript 和 d3js 代码。我尝试从 cdn 添加 polyfill
有没有其他方法可以解决这个问题?
从 github 下载的包中添加了 fetch.js。虽然问题仍然存在
<script src="js/fetch.js"></script>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript" src="js/html2canvas.min.js"> </script>
解决方案
我建议尝试使用下面的代码进行测试。它与 IE 11 浏览器一起工作,没有任何错误。它可以帮助您解决问题。
<!DOCTYPE html>
<html lang="zh-Hant-TW">
<head>
<meta charset="utf-8">
<title>d3 v5 in IE 11</title>
</head>
<body>
<h2>subreddit</h2>
<div id="d"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js" integrity="sha256-45YA33UQCDcJsntBst2bhka2t/LBNHP7RNvpllHPkQ0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.auto.min.js" integrity="sha256-OI3N9zCKabDov2rZFzl8lJUXCcP7EmsGcGoP6DMXQCo=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fetch/2.0.4/fetch.min.js" integrity="sha256-eOUokb/RjDw7kS+vDwbatNrLN8BIvvEhlLM5yogcDIo=" crossorigin="anonymous"></script>
<script src="https://d3js.org/d3.v5.min.js"></script>
<script type="text/javascript">
d3.json('https://www.reddit.com/api/trending_subreddits.json').then(function(data) {
d3.select('#d').selectAll('p').data(data.subreddit_names).enter().append('p').text(function(d){ return d });
});
</script>
</body>
</html>
参考:
如果问题仍然存在,那么我们需要示例代码来检查问题。它可以帮助我们更好地理解问题。
推荐阅读
- angular7 - Angular 对话框服务问题
- python - 指定 setuptools sdist 源分发只创建文件夹
- git - 如何根据条件使詹金斯工作失败?
- mysql - MYSQL:如何快速导入大型数据库?
- c# - Unity 中的音乐播放器问题
- gnu-make - 在 scons 下并行运行 make
- javascript - 如何使我的 javascript 与 wp_enqueue_script 一起工作?
- javascript - 如何在 CanvasJS 中创建一个 Y 轴数量不确定的图表?
- python - 如何使用列名作为标记将 XLSX 写入 XML
- mongodb - mgo 将 objectid 设置为 objectidhex,Mongodb 似乎无法读取它