问题描述
我在 IE11 和 Safari 12 上添加这两个库时遇到问题。 IE11 和 Safari 12 引发错误,因此我无法使用 ResizeObserver。 但是,它们分别正常工作或以相反的顺序工作。可能是什么问题以及如何解决?
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" crossorigin="anonymous"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=ResizeObserver" crossorigin="anonymous"></script>
</head>
<body>
<div id="demo"></div>
</body>
</html>
调试源:https://jsbin.com/yacovakupu/edit?html,output
解决方法
您正在使用 RequireJS 并且 polyfill.io 确实支持 AMD,因此您需要使用 RequireJS 加载它:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="demo"></div>
<script>
require(['https://polyfill.io/v3/polyfill.min.js?features=ResizeObserver'],function (ResizeObserver) {
console.log(ResizeObserver)
var demo = document.getElementById("demo");
demo.innerHTML = ResizeObserver;
});
</script>
</body>
</html>