# 레거시 브라우저에서 Discourse가 로드되지 않음

**URL:** https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412
**Category:** Bug
**Created:** [3월 19, 2022, 7:13오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412 "2022-03-19T07:13:00Z")
**Posts on this page:** 17
**Page:** 3

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 4, 2022, 10:01오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/63 "2022-04-04T10:01:39Z")

</div>

> [@sam](#):
>
> remove, browser\_update\_user\_agents 더 이상 이걸로 기능 감지(feature detection)를 하지 않으려고 합니다.

기억이 정확하진 않지만, 일부 브라우저(IE \< 10?)에서는 이 기능이 필수적이었습니다. 기능 감지를 수행한 후에는 JavaScript를 통해 `<noscript>` 태그에 접근하는 것이 불가능하기 때문입니다. @dan 님이 몇 년 전에 이 문제를 다룬 것으로 기억합니다.

현재 두 가지 폴백 '모드’가 존재합니다:

1. 크롤러 뷰를 제공합니다. JS가 필요하지 않습니다. 이 모드는 `browser_update_user_agents`에 의해 제어됩니다.

2. 전체 앱을 제공하고, 기능 감지를 수행하며, `<noscript>` 내용을 `<body>`로 이동시켜 폴백합니다. 이 방식은 사용자 에이전트 기반이 아닙니다.

여기서 문제는 (2)가 모바일에서 작동하지 않는다는 것입니다. 서버가 `<noscript>` 내용을 렌더링하지 않기 때문입니다. 이를 수정해야 하지만, 오래된 브라우저에서 (1)을 깨뜨리지 않아야 합니다.

---

<div class="post-metadata">

### Author: ![dan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dan/32/101549_2.png) [@dan](https://meta.discourse.org/u/dan)
#### Post date: [4월 4, 2022, 10:02오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/64 "2022-04-04T10:02:36Z")

</div>

맞습니다. 구형 IE에서는 의 내용을 읽을 수 없습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 4, 2022, 10:10오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/65 "2022-04-04T10:10:35Z")

</div>

다음과 같이 단계를 업데이트하는 것을 제안합니다:

> [@sam](#):
>
> 1. ~~더 이상 해당 기능 감지(feature detection)에 사용하지 않으므로, browser\_update\_user\_agents를 제거합니다.~~  
> `browser_update_user_agents`를 그대로 유지합니다. 기본적으로 모든 위치에 `<noscript>` 렌더링을 포함합니다 ([이 코드](https://github.com/discourse/discourse/blob/415c4fa72adb99e2c47cbba39dcf60b368b4ff28/app/helpers/application_helper.rb#L395-L397)) (해당 메서드 이름도 변경하는 것이 좋을 것 같습니다 - 이름이 혼란스럽습니다)
> 
> 2. `optimise_traffic_on_modern_mobile_browsers` (기본값 true)를 추가합니다 - 사용자가 지원되는 모바일 브라우저(최신 chrome / safari)를 사용 중이라면, HTML 페이로드를 전송하지 않아 트래픽 전송을 최적화합니다.
> 
> 3. 크롤러 / HTML 뷰에 대한 기본적인 디자인 작업 - (스타일링 / 패딩 / 여백 개선 등) - [@Designers](https://meta.discourse.org/groups/designers) 담당

@sam, (2)번 항목은 어떻게 구현할 생각인가요? 코어에 ‘최신’ 사용자 에이전트 매처 목록을 유지하는 방식인가요? 그리고 스테이블 릴리스 사이클의 일부로 이를 업데이트하는 방식인가요?

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [4월 4, 2022, 10:19오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/66 "2022-04-04T10:19:13Z")

</div>

> [@david](#):
>
> (2)를 어떻게 구현할 계획이었나요 @sam? 코어에서 ‘모던’ 사용자 에이전트 매처 목록을 관리하고, 안정 버전 릴리스 사이클의 일부로 이를 업데이트하는 방식인가요?

네, 그런 방식이었죠. 솔직히 이번 주에는 제가 할 수 있는 시간이 많지 않아서, 코딩에 쓸 시간을 확보하기가 쉽지 않습니다.

아마 이 작업을 넘겨야 할 것 같습니다. 수정된 액션 플랜이 아주 좋습니다.

---

<div class="post-metadata">

### Author: ![stance455](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stance455/32/255345_2.png) [@stance455](https://meta.discourse.org/u/stance455)
#### Post date: [4월 4, 2022, 12:13오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/67 "2022-04-04T12:13:04Z")

</div>

> [@awesomerobot](#):
>
> [UX: Update crawler view styles to be more readable - Pull Request #16361 - discourse/discourse - GitHub](https://github.com/discourse/discourse/pull/16361)

지식이 부족해서 죄송합니다… 답을 찾아보려고 노력했지만 아무것도 찾을 수 없었습니다…

위와 같은 pull request의 경우, “merged”(병합)되기까지 얼마나 걸리나요?

즉, 제 discourse 관리자 패널에 들어가면 업데이트를 제안하는 메시지가 뜨고, 위 내용이 적용되는 시점을 묻고 있습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 4, 2022, 12:42오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/68 "2022-04-04T12:42:43Z")

</div>

일부 코멘트를 해결해야 할 것 같지만, 아마도 24시간 이내에 병합될 것입니다. 병합되면 여기에 업데이트하겠습니다. 그런 다음, tests-passed 브랜치를 사용 중이라면 포럼에서 `/admin/upgrade`를 방문하여 변경 사항을 가져올 수 있습니다.

---

<div class="post-metadata">

### Author: ![stance455](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stance455/32/255345_2.png) [@stance455](https://meta.discourse.org/u/stance455)
#### Post date: [4월 4, 2022, 2:07오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/69 "2022-04-04T14:07:24Z")

</div>

> [@david](#):
>
> tests-passed 브랜치에 있다고 가정하면,

무엇인지 잘 모르겠지만, 제 생각에는 제가 그 브랜치에 있는 것 같습니다 🥴

 ![Screen Shot 2022-04-04 at 5.06.14 PM](https://global.discourse-cdn.com/meta/original/3X/1/4/148eab817a620a66f0affb00244cb3fbcd60a6a7.png)

> [@david](#):
>
> 아마도 향후 24시간 내에 병합될 것입니다.

멋지네요. 감사합니다 @david

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [4월 5, 2022, 6:58오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/70 "2022-04-05T06:58:19Z")

</div>

흥미롭게도 iPhone 5의 브라우저 스택에서 로컬로 프록시를 설정했을 때, `include_crawler_content?` 값을 true로 설정해도 여전히 흰 화면만 표시됩니다.

로컬 환경에서 ember cli가 테스트를 깨뜨리는 어떤 동작을 수행하고 있을 수 있습니다.

생産 환경의 iOS 7에서는 설계상 깨져 보입니다. (우리가 콘텐츠를 배포하지 않기 때문에 콘텐츠가 없습니다)

수정 사항을 테스트하는 것은 꽤 까다로울 것 같습니다. 하지만 로컬에서 일부 항목을 가짜로 설정해 볼 수 있을 것 같습니다.

 ![image](https://global.discourse-cdn.com/meta/original/3X/8/5/85c7b4490f9b10873e09ed98c1c1a500b8497b65.jpeg)

* * *

다음에 대해 생각 중입니다.

> 현대적인 모바일 브라우저란 무엇인가?

- iOS 14+
- Android + Chrome 88+
- Android + Firefox 85+

이렇게 하면 모바일 트래픽의 95% 이상을 커버할 수 있으므로 페이로드 절감 효과가 크고 위험은 극히 낮습니다.

@Falco 제가 놓친 브라우저가 있을까요? Android에서 Firefox는沧海一粟(대양 속 한 방울) 수준이며, 대부분의 사용자가 Chrome을 사용하는 것으로 보입니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 6, 2022, 10:45오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/71 "2022-04-06T10:45:51Z")

</div>

3개의 게시글이 새 주제로 분리되었습니다: [‘Adblock Browser’ 지원](https://meta.discourse.org/t/support-for-adblock-browser/223479)

---

<div class="post-metadata">

### Author: ![Wake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wake/32/253657_2.png) [@Wake](https://meta.discourse.org/u/Wake)
#### Post date: [5월 12, 2022, 8:48오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/77 "2022-05-12T20:48:11Z")

</div>

어제 다시 이 문제가 발생한 것 같습니다. 브라우저와 앱 모두에서 3개 포럼 중 2개에서 오류 메시지 없이 흰 화면만 표시됩니다.

> [@지난 3월 16일 이후 iPhone 6 사용 시 흰 화면 표시](https://meta.discourse.org/t/blank-page-when-using-iphone-6-since-last-16th-march/221463):
>
> I have an iPhone 6 (OS 12.5.5) and since last Wednesday I get a blank page when I navigate to my usual discourse forums using Chrome or Safari. discourse/psychopy/org forum/atsip/ac/uk and even meta/discourse/org and On the other hand, one forum is still working normally. Unlike “some-user-see-a-blank-page-when-opening-a-topic/148548” I can’t see anything (no list of topics and no topic contents). If I request desktop site I see some static header links on psychopy dot org but nothing…

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [5월 12, 2022, 8:53오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/78 "2022-05-12T20:53:02Z")

</div>

메타(이 사이트)에서도 마찬가지인가요?

---

<div class="post-metadata">

### Author: ![Ian\_W](https://avatars.discourse-cdn.com/v4/letter/i/cab0a1/32.png) [@Ian\_W](https://meta.discourse.org/u/Ian_W)
#### Post date: [5월 12, 2022, 11:01오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/79 "2022-05-12T23:01:03Z")

</div>

네, meta.discourse.org는 빈 페이지를 반환하고, community.jenkins.io도 마찬가지입니다. 원래 불만 사항과 동일합니다. 수요일 어딘가에서 시작되었음을 확인할 수 있습니다.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [5월 12, 2022, 11:33오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/80 "2022-05-12T23:33:42Z")

</div>

오, 바로 빠르게 해결해 드릴게요. 알려주셔서 감사합니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 13, 2022, 8:49오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/82 "2022-05-13T08:49:57Z")

</div>

이것은 JS 빌드 대상에서 IE11을 제거하면서 의도치 않게 발생한 부수적 효과였습니다. 다음을 통해 수정되어야 합니다:

> <https://github.com/discourse/discourse/pull/16745>
>
> cf273ec6 removed ie11 as a target. A side effect is that this also removed suppo…rt for Safari 12, which we will be maintaining support for until January 2023
> 
> https://meta.discourse.org/t/224747

최대한 빨리 병합 및 배포하겠습니다

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 13, 2022, 12:38오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/83 "2022-05-13T12:38:38Z")

</div>

이제는 Meta에 배포가 완료되었고, 호스팅 고객 중 대부분(예: [http://community.jenkins.io/](http://community.jenkins.io/))에도 적용되었습니다. 이제 iOS 12에서도 사이트가 다시 정상적으로 로드되어야 합니다. 문제를 보고해 주신 @wake님과 @Ian\_W님께 감사드립니다!

---

<div class="post-metadata">

### Author: ![Ian\_W](https://avatars.discourse-cdn.com/v4/letter/i/cab0a1/32.png) [@Ian\_W](https://meta.discourse.org/u/Ian_W)
#### Post date: [5월 13, 2022, 5:11오후 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/84 "2022-05-13T17:11:10Z")

</div>

다시 작동하게 되어 정말 기쁜 소식입니다. 여러분의 노고에 진심으로 감사드립니다.

다만, 좀 특이한 현상을 하나 발견했습니다. URL을 입력하고 엔터를 누르면 진행 표시줄이 천천히 채워집니다. 처음에는 빈 화면이 표시되다가, 약 6~7초 후에야 콘텐츠가 나타납니다! 예전에는 1초 정도밖에 걸리지 않아서(거의 눈에 띄지 않았던) 지금은 좀 이상하네요.

이것은 Firefox 브라우저에서 발생한 현상입니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [5월 16, 2022, 7:00오전 UTC](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412/85 "2022-05-16T07:00:18Z")

</div>

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 새 답변을 남길 수 없습니다.

[Previous page](https://meta.discourse.org/t/discourse-not-loading-on-legacy-browsers/221412.md?page=2)
