원본 링크를 대신 표시하도록 onebox를 비활성화하는 사용자 설정을 노출하는 것이 합리적이라고 생각합니다. onebox 임베드는 일반적인 경우에서 많은 가치를 제공하지만, 개별 사용자는 이를 피하고 싶어 할 수 있습니다. 현재 옵션은 위 링크에서 언급된 대로 포럼 전체에서 onebox를 비활성화하거나, 개별 사용자가 uBlock Origin과 같은 브라우저 확장 프로그램을 사용하여 특정 도메인이나 iframe을 차단하는 것입니다. 확장 프로그램 방식은 기능적으로 작동하지만 실용적이지 않습니다. iframe이 보통 위치해야 할 곳에 큰 빈 공간이 남고, 거기에 무엇이 표시되어야 하는지 어떤 표시도 제공하지 않으며, 사용자가 콘텐츠를 보려면 소스 코드를 파고들어 URL을 찾아야 합니다.
제 제안은 사용자가 onebox 임베드를 보는 것을 선택적으로 제외할 수 있도록(또는 선택적으로 포함할 수 있도록) 하고, 대신 게시글에 원본 링크를 포함하는 것입니다. 이렇게 하면 일관된 모양을 유지하고, 링크의 내용을 더 잘 나타내며, 페이지 소스를 뒤져서 링크를 찾아야 하는 필요성을 없앨 수 있습니다.
(메타 포럼에 처음 온 사람으로서 코드도 보지 않은 상태에서 이 글을 올리므로 이것이 실용적인지 모르겠지만, 논의할 가치가 있다고 생각했습니다 – 감사합니다!)
답변해 주셔서 감사합니다. 우려되는 부분은 프라이버시와 보안, 그리고 사용자들이 이러한 우려를 해결하기 위해 취하고 있는 조치들입니다.
@hellcx9rv4 님이 언급했듯이 iframe은 보안 구멍이 될 수 있으며, 링크된 게시물의 기사에서 지적했듯, 임베드를 자주 제공하는 사이트 유형(구글, 메타 등)은 신뢰할 수 없는 것으로 간주되어야 하며, 실제로도 점점 더 그렇고 있습니다.
개발자들이 이 문제에 대해 생각하고 있다는 점은 안심되지만, 우려하는 사용자들은 여전히 다른 사이트와 마찬가지로 디스코스(Discourse) 사이트의 iframe에 대해 의심을 품을 것이며, 자신의 우려를 해결하기 위해 동일한 메커니즘을 사용할 것입니다.
예를 들어, uBlock Origin은 각자의 애드온/확장 프로그램 웹사이트에 따르면 파이어폭스(Firefox) 사용자 640만 명과 크롬(Chrome) 사용자 1,000만 명을 보유하고 있습니다. iframe 차단이 기본으로 활성화되어 있지 않으며 활성화된 사용자의 수를 정확히 파악하는 것은 불가능할 것으로 생각되지만, 이러한 사용 수치는 상당수의 웹 사용자가 이 문제에 관심을 두고 있음을 보여줍니다. 디스코스 사용자와 uBO 사용자 중 iframe(또는 iframe 제공자 도메인)을 차단하는 교집합이 해당 수치의 0.1%에 불과하다 해도, 이는 여전히 16,000명의 디스코스 사용자가 영향을 받는 것을 의미합니다.
하지만 본인이 인정했듯이, 그런 편집증적인 사용자들은 이미 로컬 머신에서 어떤 형태의 차단 솔루션을 사용하고 있을 가능성이 높지 않나요? 즉, 해당 16,000명의 사용자는 discourse에 특화된 것이 아니라 모든 웹사이트에 적용되는 해결책을 이미 가지고 있다는 뜻인가요?
해결책은 iframe의 요청이 발화되지 않도록 방지하는 방식으로 iframe을 다룹니다(최소한 uBO의 경우). iframe이 차단되면 콘텐츠가 없거나 빈 공간만 표시되어 대화 콘텐츠의 일부가 누락됩니다. 문제는 discourse가 작성자의 링크를 iframe으로 대체했기 때문에 iframe이 존재한다는 점이며, 제가 제안하는 것은 관심 있는 사용자를 위해 해당 콘텐츠를 “그대로” 유지하는 메커니즘입니다. (대체 텍스트와 같은 기능도 유용할 수 있지만, iframe에는 그런 기능이 존재하지 않는 것으로 보입니다.)
그럴 수도 있지만, 그게 핵심 문제는 아닙니다. 많은 사람들이 콘텐츠 차단기가 가치와 노력의 균형점에서 가장 좋다고 느낍니다.
폴백 텍스트(fallback text)가 더 적절한 접근 방식일 수 있습니다. 사용자 설정을 요구하지 않으며, iframe이 네트워크에 의해 src 도메인이 차단된 경우 등 다른 이유로 로드 실패했을 때에도 투명하게 처리할 수 있기 때문입니다. 좋은 구현 방식을 찾으면 유지보수도 더 쉬울 수 있습니다. 구현 아이디어를 하나 제안하자면, 게시글 본문에 원래 URL을 표시하고, DOM에서 분리된 상태로 onebox iframe을 인스턴스화한 후, iframe이 로드될 것이 확실해지면 URL을 iframe으로 교체하는 방식입니다.