getScrollBarSize.tsx 中的方法getTargetScrollBarSize在Firefox 52.9及其以前版本中报错“NS_ERROR_NOT_AVAILABLE”
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Comienza en src/getScrollBarSize.tsx, en getTargetScrollBarSize, especialmente en la llamada a getComputedStyle que usa el pseudoelemento ::-webkit-scrollbar. Reproduce el problema en Firefox 52.9 ESR o anterior e inspecciona la ruta ensureSize existente. Se considera terminado cuando el error de Firefox heredado ya no se produce y el ancho y la altura de la barra de desplazamiento siguen estando disponibles para los llamadores.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
2021.5.20的更新中加入的片段
环境:
windows xp 32位
firefox 52.9 esr 32位
function ensureSize(str: string) {
const match = str.match(/^(.*)px$/);
const value = Number(match?.[1]);
return Number.isNaN(value) ? getScrollBarSize() : value;
}
export function getTargetScrollBarSize(target: HTMLElement) {
if (typeof document === 'undefined' || !target) {
return { width: 0, height: 0 };
}
const { width, height } = getComputedStyle(target, '::-webkit-scrollbar'); // 此行在Firefox中提示错误
return {
width: ensureSize(width),
height: ensureSize(height),
};
}
在firefox52.9(32位)及其以前版本(测试了51\47\46)会提示**"NS_ERROR_NOT_AVAILABLE"**的错误。
我想应该是getComputedStyle返回的CSSStyleDeclaration对象(浏览器中显示CSS2Properties)不可访问导致的。
如何修正这个问题?
- Lenguaje dominante
- TypeScript
- Estrellas
- 670
- Forks
- 205
- Merge medio
- 14 d 12 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de react-component/util
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
react-component/util#816 ·
-
injectCSS method not attaching csp nonce passed to it. it is used in antd components internallyAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
react-component/util#671 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
react-component/util#738 · 1 comentario · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
react-component/util#710 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
react-component/util#647 · 5 comentarios ·
Todos los issues de react-component/util
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
rohitg00/agentmemory#1428 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
boxlite-ai/boxlite#1729 ·
Los mantenedores suelen responder en 1 día
-
Detect Deno tasks from deno.jsonAbiertodetectors enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
SM260845/readme-gen#1 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
angular/angularfire#3774 ·
Los mantenedores suelen responder en 2 días