Skip to content

Instantly share code, notes, and snippets.

@deadflowers
Created March 25, 2025 19:14
Show Gist options
  • Save deadflowers/2995ace4d1ec6d6f23ceb508d0f7eff2 to your computer and use it in GitHub Desktop.
Save deadflowers/2995ace4d1ec6d6f23ceb508d0f7eff2 to your computer and use it in GitHub Desktop.
pwa
  1. Registering as a Share Target: share_target in Manifest: Include a share_target section in your PWA's manifest file (e.g., manifest.json). Example:
    {
      "name": "My PWA",
      "scope": "/",
      "share_target": {
        "action": "/share/",
        "method": "GET",
        "enctype": "application/x-www-form-urlencoded",
        "params": {
          "title": "name",
          "text": "description",
          "url": "link"
        }
      }
    }```

action: Specifies the URL path where shared data will be sent. 

method: Determines whether the data is sent via GET or POST. 

enctype: Specifies the encoding type, often application/x-www-form-urlencoded. 

params: Defines the parameters that will be passed in the request (e.g., title, text, url). 
2. Receiving Shared Data:

GET Request: If method is "GET", the shared data will be passed as query parameters in the URL. 

POST Request: If method is "POST", the shared data will be sent as the request body. 

JavaScript: Use JavaScript to access the shared data, depending on the method and enctype. 

Example (GET):
```JavaScript

    const params = new URLSearchParams(window.location.search);
    const title = params.get('title');
    const text = params.get('text');
    const url = params.get('url');
  1. Important Considerations: Installability:

Your PWA must meet Chrome's installability criteria to be registered as a share target.

User Action: The user needs to add your PWA to their home screen before they can share content to it.

Scope: Ensure your scope in the manifest is correctly set to the root of your PWA, or the action path will be ignored.

Browser Compatibility: Check the browser compatibility table for the Web Share Target API.

File Sharing: The Web Share Target API supports sharing files, but it requires a few tweaks to the manifest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment