mirror of
https://github.com/GoogleChrome/chrome-extensions-samples.git
synced 2026-03-26 13:19:49 +07:00
* Ignores archived samples * Uses eslint/recommended rules * Runs prettier and eslint (including --fix) pre-commit via husky * Adds new npm scripts: 'lint', 'lint:fix' and 'prettier' * Does not lint inline js code * Fix all prettier and eslint errors * Add custom prettier rules * Apply custom prettier rules * Update readme to explain how to setup the repo * addressed comments
124 lines
3.7 KiB
HTML
124 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Web Accessible Resources - Readme</title>
|
|
<style>
|
|
body {
|
|
font-family: Helvetica, Arial, sans-serif;
|
|
font-size: 14px;
|
|
}
|
|
table {
|
|
padding: 0;
|
|
border-collapse: collapse;
|
|
}
|
|
th {
|
|
background: hsl(0, 0%, 90%);
|
|
padding: 0.25em 0.5em;
|
|
text-align: left;
|
|
}
|
|
td {
|
|
padding: 0.25em 0.5em;
|
|
border-top: 1px solid hsl(0, 0%, 50%);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Web Accessible Resources Demo</h1>
|
|
<p>This demo shows off the core features of web accessible resources.</p>
|
|
<p>
|
|
In this demo we have 4 images (test1.png, etc.) that we want to expose on
|
|
2 different websites. Each website should only be able to load two
|
|
specific images, but both websites will attempt to access all 4 images. To
|
|
do this, we define a set of
|
|
<a
|
|
href="https://developer.chrome.com/docs/extensions/mv3/manifest/web_accessible_resources/"
|
|
><code>"web_accessable_resources"</code></a
|
|
>
|
|
in our <a href="manifest.json">manifest.json</a>. This object specifies
|
|
what assets should be accessible to which external resources.
|
|
</p>
|
|
|
|
<p>
|
|
The first image on each site is statically referenced by the site using a
|
|
URL in the following format:
|
|
<code>chrome-extension://<extension-id>/<image-path></code>. The
|
|
second image on each site will only be injected into the page when you
|
|
click the "Load images" button for that page. This injection is performed
|
|
by using
|
|
<a
|
|
href="https://developer.chrome.com/docs/extensions/reference/runtime/#method-getURL"
|
|
>chrome.runtime.getURL()</a
|
|
>
|
|
to build the image's URL at runtime.
|
|
</p>
|
|
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>File</th>
|
|
<th>Target domain</th>
|
|
<th>Injection method</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<code><a href="test1.png">test1.png</a></code>
|
|
</td>
|
|
<td>web-accessible-resources-1.glitch.me</td>
|
|
<td>Statically referenced</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code><a href="test2.png">test2.png</a></code>
|
|
</td>
|
|
<td>web-accessible-resources-1.glitch.me</td>
|
|
<td>Dynamically injected</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code><a href="test3.png">test3.png</a></code>
|
|
</td>
|
|
<td>web-accessible-resources-2.glitch.me</td>
|
|
<td>Statically referenced</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<code><a href="test4.png">test4.png</a></code>
|
|
</td>
|
|
<td>web-accessible-resources-2.glitch.me</td>
|
|
<td>Dynamically injected</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<figure>
|
|
<figcaption>
|
|
https://web-accessible-resources-1.glitch.me/ can access images
|
|
<a href="test1.png"><code>test1.png</code></a> and
|
|
<a href="test2.png"><code>test2.png</code></a>
|
|
</figcaption>
|
|
<iframe
|
|
src="https://web-accessible-resources-1.glitch.me/"
|
|
width="100%"
|
|
height="200"
|
|
></iframe>
|
|
</figure>
|
|
<figure>
|
|
<figcaption>
|
|
https://web-accessible-resources-2.glitch.me/ can access images
|
|
<a href="test3.png"><code>test3.png</code></a> and
|
|
<a href="test4.png"><code>test4.png</code></a>
|
|
</figcaption>
|
|
<iframe
|
|
src="https://web-accessible-resources-2.glitch.me/"
|
|
width="100%"
|
|
height="200"
|
|
></iframe>
|
|
</figure>
|
|
</body>
|
|
</html>
|