I'm writing a simple Chrome extension that displays a JavaScript alert saying "Hello World". In this example I have specified that the extension will only run for google.com (by putting this in the permissions property within manifest.json).
Even after everything in the target page has loaded, the alert doesn't appear. Here is my script so far:
File: manifest.json
{ "name": "Hello", "version": "1.0", "description": "Says hello to Google", "permissions": ["http://*.google.com/"] "browser_action": { "popup": "Hello.html" } }
File: Hello.html
<script language="Javascript"> alert("Hello World"); </script>
Re-enable Malfunctioning Extensions Open the three-dot menu from the top-right corner. Head to More tools > Extensions. Use the toggle for each extension to turn it off. Restart Chrome and go back to the extensions list.
Go to Help and select About Google Chrome. Check if you are running the latest version of Chrome. If not, click on the Update now button and wait for the installation to complete. Relaunch the browser and that should fix the webpage blocked by extension error.
Open Chrome and enter “ chrome://flags/ ” in the address bar, then hit “Enter.” This should take you to the advanced configuration section. To remove the “Extensions” menu button from the Chrome toolbar, toggle the dropdown list on the right and select “Disabled.”
You are adding a browser action popup, which adds a button to the top-right of your browser. (It's probably invisible because you haven't specified an image for it. There should be some empty space to the right of your address bar; try clicking it to see your Hello.html
in a popup.)
What you want is a content script. Content scripts can get injected into every page that Chrome loads. You can use the matches
and exclude_matches
sub-items in your manifest file to specify which pages get your injected script.
{ "name": "Hello", "version": "1.0", "description": "Says hello to Google", "permissions": ["tabs", "*://*.google.com/*"], "content_scripts": [ { "matches": ["*://*.google.com/*"], "js": ["hello.js"] } ] }
Make sure you rename Hello.html
to hello.js
(and get rid of the <script>
tags).
Note also that I changed your http://*.google.com/
to *://*.google.com/*
so that it will apply to Google over HTTP and HTTPS (and the trailing *
ensures that it will apply to all pages on google.com
, not just the main page).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With