찾다

 >  Q&A  >  본문

IFrame 소스에 XML 오류가 있는 경우 HTML 페이지에서 모든 IFrame을 숨기는 방법은 무엇입니까?

시도 중이에요 iframe 标记内显示 PDF 预览时遇到问题。我有一个页面包含一些 iframes 以在页面中显示 PDF 文件,问题是有时源 URL 中不存在 PDF,因此 iframe 显示 XML 错误,指出 BlobNotFound。如果在 iframe 的源代码中返回该错误,我想隐藏 iframe.

다음 JavaScript 스크립트를 사용해 보았습니다.

으아아아

이 코드는 작동하지만 ID iframe 标记,并且我想重写此代码以一次检查所有 iframe를 통해 지정하는 경우에만 작동합니다.

다음 코드도 시도해 보았습니다.

으아아아

이 코드는 작동해야 하지만 오류가 없음에도 불구하고 어떻게든 모든 iframe을 숨깁니다.

P.S. PDF를 표시할 수 없는 iframe에 대한 XML 오류입니다.

<script>
  const myIframe = document.getElementById('myFrame1');
  fetch('example.xml')
      .then(response => {
          if (!response.ok) {
              throw new Error('XML file not found');
          }
          return response.text();
      })
      .then(xmlString => {
          const parser = new DOMParser();
          const xmlDoc = parser.parseFromString(xmlString, "text/xml");
          // check for errors in the XML content
          const error = xmlDoc.getElementsByTagName("parsererror");
          if (error.length > 0) {
              myIframe.style.display = 'none'; // hide the iframe if there is an error
          }
      })
      .catch(error => {
          console.error(error);
          myIframe.style.display = 'none'; // hide the iframe if there is an error
      });
</script>

P粉308089080P粉308089080324일 전397

모든 응답(1)나는 대답할 것이다

  • P粉043295337

    P粉0432953372024-01-11 12:50:34

    이것을 시도해 볼 수 있습니다!

    으아악

    효과가 있는지 알려주세요.

    회신하다
    0
  • 취소회신하다