ResizeObserver не работает в Edge & Firefox для Android - PullRequest
1 голос
/ 08 января 2020

Я хочу использовать этот скрипт , чтобы показать только три строки текста и вставить кнопку «Читать далее»:

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 не вставляется в такие браузеры, как Edge и Firefox в Android, поэтому кнопка не отображается. Мой вопрос к JavaScript Pros: Есть идеи, как заставить это работать в Edge и Firefox?

1 Ответ

2 голосов
/ 09 января 2020

Я пытаюсь проверить приведенный выше пример кода с помощью MS Edge для Android 44.11.4.4121 , и похоже, что он работает нормально, показывает кнопку и работает правильно.

Вывод в Edge для Android и Firefox для Android:

enter image description here

Я также проверил документацию и обнаружил, что ResizeObserver не поддерживается в Firefox для Android. Так что это причина того, что он не работает с Firefox для Android браузера.

enter image description here

Ссылки:

( 1) ResizeObserver

(2) Resize Observer

...