官术网_书友最值得收藏!

Controlling the launch style

The manifest has properties which are used by the platform to know how to launch the application. The display property allows you to control how the Chrome browser is rendered. The default value is browser, which launches the PWA in a browser, with Chrome.

The minimal-ui option launches the PWA as an application, but with a minimal set of navigation UI.

standalone launches the PWA as a full screen application. The application takes up most of the screen, but some browser elements, like the status bar, may be rendered. Check the following code to understand the properties:

  "display": "fullscreen", 
  "orientation": "landscape", 

fullscreen mode launches the application in full screen and application mode without any browser elements. To the end user, it feels like they have opened a native app.

The values currently supported for the display are as follows:

  • fullscreen: Launches the application in full screen.
  • standalone: Similar to fullscreen, but may have a system UI visible.
  • minimal-ui: Adds some minimal browser navigation UI components to the standalone view.
  • browser: Opens the PWA as a regular web page in the browser.
  • orientation: This property defines what angle the application renders. The primary choices are landscape and portrait. The values should be self-explanatory. No, you cannot render your app at a 45 degree tilt!
  • The full set of orientation options are as follows:
    • any
    • natural
    • landscape
    • portrait
    • portrait-primary
    • portrait-secondary
    • landscape-primary
    • landscape-secondary

The theme_color and background_color are used to represent the app and provide the default background color. The difference between these two colors is in how they are applied:

  "background_color": "#fff", 
  "theme_color": "#f67c5f", 

The background color refers the default background color of the BODY elements. This is typically set in the site's CSS. If not, it defaults back to the browser's default. Today, the de facto background color is white, but in the early days, it was grey.

The theme_color defines what color the operating system uses to visualize the application. This includes the task switching experience. Each platform offers different user experiences related to how apps are presented, so application of the theme color will vary.

If your application uses a language that is right to left, you can specify that using the dir property. The direction is then applied to the name, short_name, and description fields.

The lang property relates to dir because it designates what language the site uses. It is also applied to the text properties. The value should be a standard language tag (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) consisting of a 2 or 3 character code followed by an optional subtag, for example, en-US or en-GB.

If you happen to have a native app available that provides functionality not available in your PWA, you can indicate its availability using the prefer_related_applications field and setting it as either true or false. Use this in conjunction with the related_applications value to hint at how to install the native app:

"related_applications": [ 
  { 
    "platform": "play", 
    "url": "https://play.google.com/store/apps/details?id=com.love2dev.2048", 
    "id": "com.love2dev.2048" 
  }, {
    "platform": "itunes", 
    "url": "https://itunes.apple.com/app/2048-pwa/id123456789" 
  }] 

Chrome recently added support for the manifest scope property, adding more control over how a PWA and the pages it links to are rendered. I will review how Chrome specifically uses this property within the concept of the WebAPK or improved add to homescreen experience section later.

The scope property defines the web application's context or range of URLs that are considered to be part of the progressive web application. Platforms can use this as they see fit, but the consensus is that if the user navigates within the scope, the browser will render PWA according to the manifest's display property. Any navigation outside of this scope results in the page being rendered with the full Chrome browser.

主站蜘蛛池模板: 长沙县| 当阳市| 治多县| 芮城县| 磐石市| 柯坪县| 宜良县| 新邵县| 巴彦淖尔市| 额济纳旗| 定兴县| 宁陕县| 天长市| 彩票| 历史| 弋阳县| 通州区| 海口市| 塘沽区| 河源市| 乌审旗| 泗水县| 清原| 灵寿县| 北京市| 石台县| 洛宁县| 韶关市| 德江县| 呈贡县| 多伦县| 屏边| 手游| 枣强县| 临沂市| 磐安县| 铜山县| 江阴市| 沁水县| 永靖县| 万山特区|