찾다
위챗 애플릿미니 프로그램 개발WeChat 애플릿에서 WebView 페이지를 업데이트하는 세 가지 방법

Scenario

미니 프로그램의 다른 페이지에서 작업을 수행하면 데이터가 변경됩니다. 웹뷰 페이지로 돌아가면 웹뷰의 데이터를 업데이트해야 합니다. 미니 프로그램은 웹뷰와의 실시간 소통 기능을 제공하지 않기 때문에 페이지 새로고침을 고려해야 합니다.

방법 1

가장 일반적인 방법은 웹뷰의 URL을 수정하고 쿼리 매개변수 등을 추가하면 페이지가 업데이트되는 것입니다. 그러나 이렇게 하면 웹뷰의 검색 기록이 늘어나 사용자가 돌아갈 때 애플릿의 이전 페이지가 아닌 웹뷰의 이전 페이지로 돌아가게 됩니다.

방법 2

미니 프로그램에서 wx.redirectTo(OBJECT)메소드를 호출합니다. 여기에 현재 페이지의 URL을 입력하세요. 실제로 현재 페이지를 닫았다가 다시 열면 위장된 웹뷰를 새로 고치는 목적이 달성됩니다. 다만, 미니프로그램 페이지가 다시 오픈되므로 시간이 더 오래 걸립니다. 또한 사용자는 이전 페이지가 깜박인 다음 새 페이지가 나타나는 것을 볼 수 있습니다.

방법 3

먼저 웹뷰에서 조건부 렌더링을 수행하도록 합니다.

<web-view wx:if="{{ webviewUrl }}" src="{{ webviewUrl }}" />

새로고침이 필요한 경우 먼저 webviewUrl을 비우도록 설정하고 현재 웹뷰를 삭제합니다. 그런 다음 webviewUrl을 현재 값으로 설정합니다. 다음과 같습니다:

  refreshWebview: function () {
    let tmpUrl = this.data.webviewUrl;
    this.setData({
      webviewUrl: &#39;&#39;
    });
    setTimeout(() => {
      this.setData({
        webviewUrl: tmpUrl
      })
    }, 100);
  }

이러한 방식으로 탐색 모음 기록에 영향을 주지 않고 페이지를 새로 고칠 수도 있고 점프 URL이 될 수도 있습니다.
여기서 setData 이후에는 페이지 콘텐츠 업데이트가 비동기적으로 실행되어야 하므로 URL을 수정할 때 잠시 지연되어야 하며, 그렇지 않으면 오류가 발생합니다.
setData 이후 페이지의 실제 업데이트는 다음 requestAnimationFrame에 있어야 한다고 생각하므로 페이지가 전혀 멈추지 않으면 16ms가 될 수 있으므로 안전을 위해 100ms로 설정했습니다.

요약

지금까지 배운 내용으로는 부작용 없이 미니 프로그램 웹뷰를 직접 새로 고칠 수 있는 간단한 API는 실제로 없습니다. 세 번째 방법은 제가 직접 알아낸 방법입니다. 그런데 이렇게 단순한 문제는 좀 더 직접적으로 접근해야 한다는 생각이 들곤 하는데, 그게 이상하네요.

관련 기사:

WeChat 애플릿의 풀다운 새로 고침 및 풀업 로딩 구현 방법에 대한 자세한 설명

JS에서 상위 창을 새로 고치는 여러 가지 방법 요약

위 내용은 WeChat 애플릿에서 WebView 페이지를 업데이트하는 세 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

mPDF

mPDF

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