iOS Safari에서 JavaScript가 비활성화된 경우 콘텐츠가 렌더링되지 않습니다. 홈페이지가 완전히 비어 있고, 토픽 페이지에서는 제목과 카테고리만 표시되며 본문 텍스트가 전혀 표시되지 않습니다. 제 사이트뿐 아니라 Meta에서도 동일한 현상을 확인하고 있습니다:
iOS 16.5 및 iOS 사용자 에이전트로 설정된 macOS Safari에서 테스트했습니다.
수정: Android/Chrome 사용자 에이전트로 설정했을 때도 동일한 현상을 확인했습니다.
3개의 좋아요
sam
(Sam Saffron)
5월 26, 2023, 1:20오전
2
@Falco / @david 모바일에서 트래픽을 절약하기 위해 전체 페이로드를 보내지 않는 최적화 기능인 것 같습니다.
고의적인 설정으로 보이는데, 이런 경우에 대비해 장기적으로 리다이렉트를 강제하는 등의 조치를 취할 수 있을까요? (예: ?javascript_disabled 등으로 리다이렉트…)
3개의 좋아요
Falco
(Falco)
5월 26, 2023, 5:40오후
3
네, 정확합니다. 트레이드오프는 99.999%의 사용자에게 더 나은 성능을 제공하는 것이며, 네트워크 사용량과 사용자 배터리 모두를 절약할 수 있습니다. 하지만 최신 스마트폰에서 JS를 비활성화한 사용자는 정적 HTML 버전을 받지 못합니다.
meta 태그로 리다이렉트를 강제하는 건가요? 아니면 여기 if의 else 부분에 버튼을 렌더링하는 건가요?
<% @tags.each_with_index do |tag, i| %>
<a href='<%= "#{Discourse.base_url}/tag/#{tag.name}" %>' class='discourse-tag' rel="tag"><%= tag.name -%></a><% if i < @tags.size - 1 %>, <% end %>
<% end %>
</div>
</div>
<% end %>
</div>
<%= server_plugin_outlet "topic_header" %>
<%- if include_crawler_content? %>
<% main_entity_schema = crawler_topic_main_entity_schema(@topic_view.topic) %>
<div <%= crawler_topic_container_schema(@topic_view.topic) %>>
<meta itemprop='<%= main_entity_schema ? "name" : "headline" %>' content='<%= @topic_view.title %>'>
<link itemprop='url' href='<%= @topic_view.absolute_url %>'>
<meta itemprop='datePublished' content='<%= @topic_view.topic.created_at.to_formatted_s(:iso8601) %>'>
<meta itemprop='keywords' content='<%= @tags.map(&:name).join(', ') %>'>
<% unless main_entity_schema %>
<% if @topic_view.topic.category.present? %>
<meta itemprop='articleSection' content='<%= @topic_view.topic.category.name %>'>
<% end %>
현재 페이지를 파라미터와/또는 쿠키 설정과 함께 다시 로드하는 버튼 말입니다.
여기서 미치는 영향과 필요한 작업을 고려할 때, 우선순위는 낮다고 보며 #pr-welcome입니다 .
2개의 좋아요