如何将弹出窗口 window 添加到我的 Chrome 扩展程序?
How do I add a popup window to my Chrome Extension?
我正在尝试制作一个弹出窗口 window 在每个页面上显示时间,但用户可以单击 X 按钮将其关闭。
我不能将 popup.html 用于此,因为我正在将其用于其他用途。
基本上我如何制作在每个页面上显示的类似内容:
您需要使用内容脚本。内容脚本是可以添加到匹配页面的脚本(还有样式表),您可以定义什么是匹配页面。有关可能的匹配模式,请参阅 https://developer.chrome.com/extensions/content_scripts and https://developer.chrome.com/extensions/match_patterns。
在您的 manifest.json 中添加以下内容。
"content_scripts": [
{
"matches": ["<all_urls>"],
"css": ["style.css"],
"js": ["script.js"]
}
]
然后,在您的 script.js 中添加向页面添加弹出窗口的脚本。感谢 bbrame 12 hour AM/PM code.
var div = document.createElement("div");
div.setAttribute("id", "chromeextensionpopup");
div.innerText = formatAMPM(new Date());
document.body.appendChild(div);
var closelink = document.createElement("div");
closelink.setAttribute("id", "chromeextensionpopupcloselink");
closelink.innerText = 'X';
document.getElementById("chromeextensionpopup").appendChild(closelink);
function formatAMPM(date){
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}
document.getElementById("chromeextensionpopupcloselink").addEventListener("click", removeExtensionPopup);
function removeExtensionPopup(){
document.getElementById("chromeextensionpopup").outerHTML='';
}
而在 style.css 中,您可以将 CSS 放在样式中,放在角落或任何您想要的地方等。
#chromeextensionpopup{
background: white;
border: solid 3px black;
line-height: 25px;
position: absolute;
right: 20px;
text-align: center;
top: 20px;
width: 100px;
z-index: 999999999;
}
#chromeextensionpopupcloselink{
background: red;
color: white;
cursor: pointer;
float: right;
height: 25px;
text-align: center;
width: 25px;
}
我正在尝试制作一个弹出窗口 window 在每个页面上显示时间,但用户可以单击 X 按钮将其关闭。
我不能将 popup.html 用于此,因为我正在将其用于其他用途。
基本上我如何制作在每个页面上显示的类似内容:
您需要使用内容脚本。内容脚本是可以添加到匹配页面的脚本(还有样式表),您可以定义什么是匹配页面。有关可能的匹配模式,请参阅 https://developer.chrome.com/extensions/content_scripts and https://developer.chrome.com/extensions/match_patterns。
在您的 manifest.json 中添加以下内容。
"content_scripts": [
{
"matches": ["<all_urls>"],
"css": ["style.css"],
"js": ["script.js"]
}
]
然后,在您的 script.js 中添加向页面添加弹出窗口的脚本。感谢 bbrame 12 hour AM/PM code.
var div = document.createElement("div");
div.setAttribute("id", "chromeextensionpopup");
div.innerText = formatAMPM(new Date());
document.body.appendChild(div);
var closelink = document.createElement("div");
closelink.setAttribute("id", "chromeextensionpopupcloselink");
closelink.innerText = 'X';
document.getElementById("chromeextensionpopup").appendChild(closelink);
function formatAMPM(date){
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}
document.getElementById("chromeextensionpopupcloselink").addEventListener("click", removeExtensionPopup);
function removeExtensionPopup(){
document.getElementById("chromeextensionpopup").outerHTML='';
}
而在 style.css 中,您可以将 CSS 放在样式中,放在角落或任何您想要的地方等。
#chromeextensionpopup{
background: white;
border: solid 3px black;
line-height: 25px;
position: absolute;
right: 20px;
text-align: center;
top: 20px;
width: 100px;
z-index: 999999999;
}
#chromeextensionpopupcloselink{
background: red;
color: white;
cursor: pointer;
float: right;
height: 25px;
text-align: center;
width: 25px;
}