У меня есть несколько поддоменов, и я хотел бы предоставить отдельный файл манифеста для каждого. Я нашел несколько разных источников, которые утверждают, что выполнили sh это, но ни один из них не работает, и большинство комментариев к ним согласны.
Для начала, у меня был обычный манифест. json .erb файл, связанный с ним <link rel="manifest" href="/manifest.json" />
, и он работал нормально.
1) Итак, сначала я попытался просто условно связать различные файлы манифеста, например:
<% if request.subdomain.include? "www" %>
<link rel="manifest" href="/other-manifest.json" />
<% else %>
<link rel="manifest" href="/manifest.json" />
<% end %>
и тогда я бы просто добавил файл с именем other-manifest. json .erb. Что странно, так это то, что это не только не сработало для other-manifest. json .erb, но и когда поддомен не является "www", manifest. json .erb также перестало работать. Я до сих пор не понимаю, почему это так, потому что это не должно отличаться от ссылки на манифест. json, верно?
Я также пытался написать <link rel="manifest" href="/other-manifest.json" />
и ничего больше, и это тоже не сработало, что заставляет меня поверить, что файл должен иметь название «manifest. json».
2) Другие решения включали пропуск href для элемента rel=manifest
и использование Javascript для добавь это позже. Опять же, я не знаю, почему это сработает, но я попробовал:
<link rel="manifest" id="manifest" />
<!-- content -->
<% if request.subdomain.include? "www" %>
document.querySelector('#manifest').setAttribute('href', '/other-manifest.json');
<% else %>
document.querySelector('#manifest').setAttribute('href', '/manifest.json');
<% end %>
, но это тоже не сработало.
3) Я также попытался запустить request.subdomain
внутри файла манифеста. json. html и условного рендеринга содержимого на основе этого значения, но это также нарушает его, что указывает на то, что объект request
недоступен внутри этого файла.
Кому-нибудь удалось отобразить динамическое c содержимое в файле манифеста?