* Update `action` sample * Update `alarms` sample * Update `bookmarks` sample * Update `browsingData` sample * Update `contentSettings` sample * Update `cookies/cookie-clearer` sample * Update `debugger` sample * Update wasm functional sample * Update `functional/cookbook.geolocation-contentscript` sample * Update `cookbook.geolocation-offscreen` sample * Update `cookbook.geolocation-popup` sample * Update `cookbook.offscreen-clipboard-write` sample * Update `cookbook.offscreen-dom` sample * Fix browsingData description * Fix bookmarks description * Update offscreen document descriptions * Update descriptions * Update browsingData description * Update descriptions for all api samples * Update descriptions for cookbook samples * Update api-samples/browsingData/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/action/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/contextMenus/basic/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/cookies/cookie-clearer/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/debugger/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update functional-samples/sample.favicon-cs/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update functional-samples/cookbook.sidepanel-site-specific/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/omnibox/new-tab-search/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/devtools/inspectedWindow/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Update api-samples/override/blank_ntp/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Apply suggestions from code review Co-authored-by: Joe Medley <jmedley@google.com> * Update wasm samples description * Update description * Update functional-samples/sample.co2meter/manifest.json Co-authored-by: Joe Medley <jmedley@google.com> * Apply suggestions from code review --------- Co-authored-by: Joe Medley <jmedley@google.com> Co-authored-by: Oliver Dunk <oliver@oliverdunk.com>
chrome.scripting API
This sample demonstrates using the chrome.scripting API to inject JavaScript into web pages.
Overview
Once this extension is installed, clicking this extension's action icon will open an extension page.
Features
This sample allows you to experiment with the following injection mechanisms:
- Dynamic Declarations, where a content script is registered at runtime.
- Programmatic Injection, where a script is programatically executed in a tab which is already open.
Learn more at https://developer.chrome.com/docs/extensions/mv3/content_scripts/.
Implementation Notes
Programmatic injection is handled in the service worker. A tab is opened to a specific URL (https://example.com/#inject-programmatic). When the page finishes loading, a script is then run using chrome.scripting.executeScript.
When registering a dynamic content script, a tab is automatically opened if using the default matches URL. Otherwise, no tab is opened and the correct URL needs to be manually navigated to.