Android WebView와 JavaScript 이름 지정 사양 간의 호환성 문제 분석 및 솔루션
JavaScript 코드의 이름 지정 사양이 중요합니다. 모범 사례는 글자, 숫자, 밑줄 및 달러 표시를 사용하는 것이 좋습니다. 첫 번째 문자는 숫자가 될 수 없습니다. 그러나 최근 PDFJS-DIST 라이브러리를 통합 할 때 호환성 문제를 발견했습니다. 크롬 브라우저에서 정상적으로 실행되는 코드 (예기치 않은 토큰)가 Android 웹 뷰에서 발생합니다. 근본 원인은 pdf.js 파일이 일부 Android WebView 버전에서는 지원되지 않는 파운드 부호 (#)로 시작하는 기능 이름을 사용하기 때문입니다.
파운드 부호 (#)는 일부 프로그래밍 언어로 사용되어 개인 구성원을 대표하지만 이는 JavaScript 표준이 아닙니다. 이전 버전의 Android WebView는이 비표준 이름 지정 방법을 해결할 수 없으므로 구문 오류가 발생합니다.
종속 패키지를 업데이트 할 때 쉽게 덮어 쓰기 때문에 node_modules
에서 pdfjs-dist
패키지를 직접 수정하는 것이 가장 모범 사례가 아닙니다. 더 나은 접근 방식은 빌드 도구의 구성을 사용하여 호환성 문제를 해결하는 것입니다.
우리는 다음 단계를 따라이 문제를 해결했습니다.
-
.browserslistrc
파일 구성 : 이 파일은 코드 호환성을 보장하기 위해 대상 브라우저 및 버전을 지정합니다. Android WebView 및 Chrome Android의 버전 번호 규칙이 다르므로이를 별도로 지정해야합니다.
<code>android >= 4 chromeandroid >= 83 last 2 versions</code>
-
vue.config.js
(또는 유사한 구성 파일)의transpileDependencies
: Babel은 기본적으로 종속성 패키지 코드를 처리하지 않으므로 구성 파일에서 번역 해야하는 종속성 패키지를 명시 적으로 지정해야합니다.
module.exports = { TranspileDependencies : [ 'pdfjs-dist'], // ... 기타 구성 }
-
babel.config.js
(또는 유사한 구성 파일)에include
: Babel이 처리 해야하는 코드 디렉토리를 명시 적으로 지정하고src
디렉토리와node_modules/pdfjs-dist
모두 포함되도록하십시오.
module.exports = { 사전 설정 : [], 플러그인 : [], [path.resolve ( 'src'), path.resolve ( 'node_modules/pdfjs-dist')], };
위의 구성을 통해 Android WebView의 호환성 문제를 성공적으로 해결했습니다. 그러나 이름 지정 사양 문제가 해결 되더라도 PDF 디스플레이 오정렬 문제가 여전히 발생하므로 크로스 플랫폼 호환성을 처리 할 때는 다른 환경에서 응용 프로그램의 안정성과 일관성을 보장하기 위해 지속적인 디버깅 및 최적화가 필요하다는 것을 상기시킵니다.
위 내용은 JavaScript 이름 지정 사양은 Android WebView에서 호환성 문제를 제기합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
