I tried to get the domain name using alert(document.domain);
But i'm not getting the right domain when I test it out in a site,
I get "hiecjmnbaldlmopbbkifcelmaaalcfib" this weird output.
I have added this in the manifest too
"content_scripts": [
{
"js": ["inject.js"]
}
],
alert(document.domain); is the only line of text inside inject.js.
And I've incorporated this <script type="text/javascript" src="inject.js"> </script>
into the main html file after popup.js
Any thoughts on why I'm not getting the correct domain url?
Thanks!
If you are in popup or background or options page, there is an indirect approach for obtaining domain of page.
You can refer to following code as a reference.
Registered content scripts, background and popup scripts with manifest file along with relevant permissions
{
"name": "Domain Name",
"description": "http://stackoverflow.com/questions/14796722/javascript-google-chrome-extension-getting-domain-name",
"version": "1",
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"myscript.js"
]
}
],
"browser_action": {
"default_popup": "popup.html"
},
"background": {
"scripts": [
"background.js"
]
},
"permissions": [
"tabs",
"<all_urls>"
]
}
console.log(document.domain);// Outputs present active URL of tab
Registered popup.js
to surpass CSP.
<html>
<head>
<script src="popup.js"></script>
</head>
<body></body>
</html>
Added Event Listener for DOM Content Loaded
, and brought active URL of tab where user is on.
document.addEventListener("DOMContentLoaded", function () {
console.log(document.domain);//It outputs id of extension to console
chrome.tabs.query({ //This method output active URL
"active": true,
"currentWindow": true,
"status": "complete",
"windowType": "normal"
}, function (tabs) {
for (tab in tabs) {
console.log(tabs[tab].url);
}
});
});
console.log(document.domain); //It outputs id of extension to console
chrome.tabs.query({ //This method output active URL
"active": true,
"currentWindow": true,
"status": "complete",
"windowType": "normal"
}, function (tabs) {
for (tab in tabs) {
console.log(tabs[tab].url);
}
});
You will find
fgbhocadghoeonlokakijhnlplgkolbg
as output for console.log(document.domain); in all extension pages and
and
for tabs.query()
output.
However, Content script output is always
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.