Манифест веб-приложения на ориентацию страницы - PullRequest
0 голосов
/ 28 июня 2018

В манифесте веб-приложения для прогрессивного веб-приложения можно ли устанавливать различные ориентации в зависимости от того, какую страницу просматривает пользователь?

Вот как выглядит мой manifest.json:

{
    "dir": "ltr",
    "lang": "en-US",
    "name": "My Application",
    "scope": "/",
    "display": "standalone",
    "start_url": "start_page.aspx",
    "short_name": "My App",
    "theme_color": "transparent",
    "description": "My App Description",
    "orientation": "portrait",
    "background_color": "#00A3CC",
    "related_applications": [],
    "prefer_related_applications": false,
    "icons": [
    {
        "src": "Images/Icon.png",
        "type": "image/png",
        "sizes": "192x192"
    },
    {
        "src": "Images/Icon.png",
        "type": "image/png",
        "sizes": "512x512"
    }
    ]
}

Приведенный выше манифест приводит к отображению https://example.com/start_page.aspx и любой другой страницы в портретной ориентации при установке приложения. Можно ли заставить https://example.com/other_page.aspx отображаться в альбомной ориентации, оставляя остальную часть моего сайта в портретной ориентации?

1 Ответ

0 голосов
/ 02 июля 2018

manifest.json - ориентация является статической опцией для всего приложения. Вы не можете иметь значения для каждой страницы / модуля.

У вас есть два варианта решения вашей проблемы.

1) Ориентация с использованием CSS - загрузите other_page.aspx внутри a на текущей странице (например, SPA) и используйте CSS, как в этом ответе , чтобы сориентироваться в ландшафте, сместив 90 градусов.

2) Создайте other_page.aspx как отдельное приложение с отдельным manifest.json с альбомной ориентацией. Вы можете сделать это, только если это имеет смысл разделить это как логически другой модуль.

...