为了账号安全,请及时绑定邮箱和手机立即绑定

跳过包含 Internet Explorer 的 d3.js

跳过包含 Internet Explorer 的 d3.js

至尊宝的传说 2023-09-21 16:39:43
我有一个使用最新版本的 d3 (v6) 的项目,我在我的 index.html 中包含如下 api:        <script src="scripts/d3.js"></script>此版本的 d3 不支持 IE,我收到控制台错误,因为 IE 中的 ECMA 版本的 Javascript 不支持 => 例如。这对我来说很好,因为我测试是否window.d3存在,如果不存在,那么我会显示其他内容而不是我的 d3 图表。但我不想出现这个控制台错误。那么如果浏览器不是 IE,如何只包含 d3.js 呢?谢谢
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

您可以检查浏览器userAgent是否是IE,如果不是则加载d3脚本。


您可以参考下面的代码,它运行良好并清除 IE 11 中的 d3 控制台错误:


<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8" />

    <title></title>

    <script>

        var ua = window.navigator.userAgent;

        var msie = ua.indexOf("MSIE ");

        if (!(msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))) //If not IE, load d3 script

        {

            document.write('<script src="scripts/d3.js"><\/script>');

        } 

    </script>

</head>

<body>

    <svg>

        <circle class="target" style="fill: #69b3a2" stroke="black" cx=50 cy=50 r=40></circle>

    </svg>

    <script>

        if (window.d3) {

            d3.select(".target").style("stroke-width", 8);

        }

        else {

            alert("IE");

        }

    </script>

</body>

</html>


查看完整回答
反对 回复 2023-09-21
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信