이 문제는 브라우저나 OS에 따라 발생하는 것으로 보이지 않습니다. macOS의 Firefox, Chrome, Safari와 iOS의 Safari, 그리고 Windows의 Firefox/Chrome/Edge에서 모두 확인되고 있습니다. Lightbox가 실제로 정상 작동하는 브라우저/OS 조합을 찾지 못했기 때문에, 사이트 자체의 문제, 예를 들어 특정 설정이나 다른 플러그인이 원인을 제공하고 있는 것 같습니다.
콘솔이나 사이트 로그에서 문제를 가리키는 내용을 전혀 찾아볼 수 없어서, 어디서부터 어떻게 시작해야 할지 막막합니다.
아니요, Cloudflare에서 최적화나 최소화(minimizing) 옵션을 사용하지 않고 있습니다. 해당 기능들은 모두 비활성화되어 있습니다. 현재 활성화되어 있는 것은 4시간 캐싱 기능뿐입니다.
프로덕션 사이트를 로컬에 복제하여 문제를 재현할 수 있었습니다. 결국 제가 작성한 커스텀 테마 플러그인의 일부 코드 때문에 나타나는 버그인 것으로 밝혀졌습니다. 왜 라이트박스가 깨지는지, 그리고 왜 최근에야 문제가 발생하게 되었는지는 여전히 설명할 수 없습니다. 코어에 아직 발견되지 않은 버그가 있는 걸까요?
이 코드가 하려는 것은 렌더링된 게시글 내용에서 간단한 문자열 치환을 하는 것입니다. 그런데 어째서인지 이 코드 때문에 모든 게시글의 모든 라이트박스가 깨집니다(해당 문자열이 없는 게시글도 포함됩니다). elem.innerHTML = ... 라인을 주석 처리하면 라이트박스가 다시 정상 작동합니다.
위 예시는 단순화된 것입니다(실제 플러그인은 게시글의 특정 렌더링된 링크를 교체하고 쿠크드 콘텐츠에 다른 작업을 수행합니다) 하지만, 위와 같이 매우 단순한 코드만으로도 제가 겪고 있는 문제를 재현할 수 있습니다.
게시글 렌더링 시 쿠크드 콘텐츠를 수정하는 것이 이 방식이 맞으며, 이는 라이트박스 관련 새로운 코어 버그인가요? 아니면 처음부터 잘못된 방식으로 작성한 것이었고, 애초에 이렇게 작동할 수 없었던 것인가요?