javascript - ResizeObserver 不适用于 Android 版 Edge 和 Firefox

标签 javascript microsoft-edge

我想使用this script仅显示三行文本并插入“阅读更多”按钮:

const ps = document.querySelectorAll('p');
const observer = new ResizeObserver(entries => {
  for (let entry of entries) {
    entry.target.classList[entry.target.scrollHeight > entry.contentRect.height ? 'add' : 'remove']('truncated');
  }
});

ps.forEach(p => {
  observer.observe(p);
});

enter image description here

不幸的是,由于使用了 ResizeObserver,类 truncated 没有插入到 Android 上的 Edge 和 Firefox 等浏览器中,因此该按钮不会显示。我向 JavaScript 专业人士提出的问题:有什么想法可以让它在 Edge 和 Firefox 中运行吗?

最佳答案

我尝试使用 MS Edge for Android 44.11.4.4121 测试上述示例代码,看起来它工作正常,并且可以正常显示按钮和功能。

Edge for Android 和 Firefox for Android 中的输出:

enter image description here

我还检查了文档,发现 Android 版 Firefox 不支持 ResizeObserver。这就是它不能与 Android 版 Firefox 浏览器配合使用的原因。

enter image description here

引用文献:

(1) ResizeObserver

(2) Resize Observer

关于javascript - ResizeObserver 不适用于 Android 版 Edge 和 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59646934/

相关文章:

javascript - JavaScript 中的 Split 函数出现异常

google-chrome - 有没有办法调整网络浏览器窗口的大小,使其尺寸为特定的宽度和高度?

css - 修复 Edge 中的 Flex 显示

javascript - 使用 Javascript 将表格导出到 MS Excel,在 MS Edge 上不起作用

javascript - 与其他浏览器相比,IE/Edge 样式的应用顺序不同

javascript - 在 React hooks 中我们还需要功能性的 setState 方式吗?

javascript - 停止在函数中提交表单 - jquery/javascript

javascript - setAngle 不是函数 fabricjs

javascript 数组推送会发生什么?

html - 如何为不同的网络浏览器修复视频大小和字体换行