찾다

 >  Q&A  >  본문

브라우저가 HTML 요소를 렌더링하려고 시도하기 전에 HTML 요소를 스크램블합니다. 이것은 "document.write"에 대한 드문 유효한 사용 사례입니까?

내 웹페이지에는 반복되는 배경 이미지가 있는 헤더 영역이 있습니다.

해상도가 약간 높고 스크롤 없이 볼 수 있는 부분 위에 있으므로 브라우저가 첫 번째 이미지 이외의 이미지 로드를 시작하지 않기를 바랍니다.

하지만 이미지의 순서도 무작위로 지정하고 싶습니다.

문제는 제가 정적 웹 호스트(Netlify)를 사용하고 있다는 것입니다.

내가 고려한 몇 가지 접근 방식은 다음과 같습니다.

내가 원하는 것은 JS 코드를 실행하고, 짧은 로직을 실행하고, 브라우저가 전체 HTML 응답을 보기 전에 스트림에 마크업을 추가하는 것입니다. 그런 다음 JS를 끄는 사람들과 JS 실행을 원하지 않는 검색 엔진을 위해

제가 보기엔 그게 바로 document.write 하는 일이죠, 그렇죠?

모든 출처에서는 전염병 document.write처럼 피하라고 말합니다. 하지만 이것이 드물고 유효한 사용 사례인지 궁금합니다.

으아아아

이거 나쁜 생각인가요? 왜? 내 소원을 성취할 수 있는 더 좋은 방법이 있나요?

P粉752290033P粉752290033363일 전491

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

  • P粉349222772

    P粉3492227722024-01-11 16:07:11

    그래, 그건 좋은 생각이 아니야. 이 방법은 매우 오래되었으며 브라우저마다 특정 동작이 다를 수 있습니다. 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/API/Document/write를 참조하세요.

    다음과 같은 현대적인 방법을 사용하세요:

    잠깐. 렌더러/브라우저에 안전하므로 요소를 무작위로 배열합니다.

    귀하의 특정 사용 사례에 대한 제안: 원하는 방식으로 작동하려면 브라우저가 먼저 JavaScript를 로드해야 하지만 그렇지 않을 수도 있습니다. 이미지는 원래 HTML 소스에 나타난 순서대로 계속 로드될 수 있습니다. 가능하다면 이 논리를 서버로 옮기는 것이 좋습니다. 결국 어떤 자바스크립트도 귀하의 사용 사례에 맞지 않을 수 있습니다. 문서 자체에 이미지를 포함하지 않고 JS(임의 로드 시)를 통해 이미지를 추가하는 것이 가능할 수도 있는데, 이것이 제가 선호하는 접근 방식입니다.

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