내 웹페이지에는 반복되는 배경 이미지가 있는 헤더 영역이 있습니다.
해상도가 약간 높고 스크롤 없이 볼 수 있는 부분 위에 있으므로 브라우저가 첫 번째 이미지 이외의 이미지 로드를 시작하지 않기를 바랍니다.
하지만 이미지의 순서도 무작위로 지정하고 싶습니다.
문제는 제가 정적 웹 호스트(Netlify)를 사용하고 있다는 것입니다.
내가 고려한 몇 가지 접근 방식은 다음과 같습니다.
내가 원하는 것은 JS 코드를 실행하고, 짧은 로직을 실행하고, 브라우저가 전체 HTML 응답을 보기 전에 스트림에 마크업을 추가하는 것입니다. 그런 다음 JS를 끄는 사람들과 JS 실행을 원하지 않는 검색 엔진을 위해 에서 표준 주문을 제공할 수 있습니다.
제가 보기엔 그게 바로 document.write
하는 일이죠, 그렇죠?
모든 출처에서는 전염병 document.write
처럼 피하라고 말합니다. 하지만 이것이 드물고 유효한 사용 사례인지 궁금합니다.
으아아아
이거 나쁜 생각인가요? 왜? 내 소원을 성취할 수 있는 더 좋은 방법이 있나요?
그래, 그건 좋은 생각이 아니야. 이 방법은 매우 오래되었으며 브라우저마다 특정 동작이 다를 수 있습니다. 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/API/Document/write를 참조하세요.
다음과 같은 현대적인 방법을 사용하세요:
잠깐. 렌더러/브라우저에 안전하므로 요소를 무작위로 배열합니다.
귀하의 특정 사용 사례에 대한 제안: 원하는 방식으로 작동하려면 브라우저가 먼저 JavaScript를 로드해야 하지만 그렇지 않을 수도 있습니다. 이미지는 원래 HTML 소스에 나타난 순서대로 계속 로드될 수 있습니다. 가능하다면 이 논리를 서버로 옮기는 것이 좋습니다. 결국 어떤 자바스크립트도 귀하의 사용 사례에 맞지 않을 수 있습니다. 문서 자체에 이미지를 포함하지 않고 JS(임의 로드 시)를 통해 이미지를 추가하는 것이 가능할 수도 있는데, 이것이 제가 선호하는 접근 방식입니다.