Javascript 如何使用WebExtensions更改背景图像?
我想用一个WebExtension来更改Firefox新标签页(about:newtab)的背景图像。我尝试过此代码,但不起作用:Javascript 如何使用WebExtensions更改背景图像?,javascript,firefox,firefox-addon-webextensions,Javascript,Firefox,Firefox Addon Webextensions,我想用一个WebExtension来更改Firefox新标签页(about:newtab)的背景图像。我尝试过此代码,但不起作用: window.addEventListener("load",function(){ if(window.document.URL == "about:newtab"){ window.document.body.style.backgroundImage = "url(https://images-assets.nasa.gov/image/i
window.addEventListener("load",function(){
if(window.document.URL == "about:newtab"){
window.document.body.style.backgroundImage = "url(https://images-assets.nasa.gov/image/iss050e066094/iss050e066094~orig.jpg)"
}
});
manifest.json:
{
"description": "An example extension",
"homepage_url": "",
"manifest_version": 2,
"name": "wallpaper",
"permissions": [
"alarms",
"theme",
"<all_urls>"
],
"background": {
"scripts": ["background.js"]
},
"version": "1.0",
"gecko": {
"strict_min_version": "55.0a2"
}
}
{
“说明”:“示例扩展”,
“主页地址”:“,
“清单版本”:2,
“名称”:“壁纸”,
“权限”:[
“警报”,
“主题”,
""
],
“背景”:{
“脚本”:[“background.js”]
},
“版本”:“1.0”,
“壁虎”:{
“严格最低版本”:“55.0a2”
}
}
提前感谢。由于安全原因,您目前无法更改关于:页 如果您确实想在about:newtab上创建另一个背景图像,则需要使用自己的实现覆盖新选项卡页面。Newtab重写自Firefox 54(在中实现)以来就可用 你可以这样做:
"chrome_url_overrides" : {
"newtab": "my-new-tab.html"
}
所以你的清单会变成这样
{
"description": "An example extension",
"homepage_url": "",
"manifest_version": 2,
"name": "wallpaper",
"permissions": [
"alarms",
"theme",
"<all_urls>"
],
"background": {
"scripts": ["background.js"]
},
"version": "1.0",
"gecko": {
"strict_min_version": "55.0a2"
},
"chrome_url_overrides" : {
"newtab": "my-new-tab.html"
}
}
{
“说明”:“示例扩展”,
“主页地址”:“,
“清单版本”:2,
“名称”:“壁纸”,
“权限”:[
“警报”,
“主题”,
“
可能您也想实现搜索。由于您还无法读取搜索引擎(),您可能希望通过在加载项中硬编码URL来实现搜索,添加下拉列表以选择您喜爱的搜索引擎。接下来,当用户输入查询并按ENTER键时,您可以替换当前的“新建”选项卡使用该方法使用搜索结果页创建页面,将url属性替换为搜索页面+查询的url
我打开了一个错误报告,请求API将背景图像设置为about:newtab和about:home。请参阅。由于安全原因,目前无法更改about:页面
如果您确实想在about:newtab上创建另一个背景图像,则需要使用自己的实现覆盖新选项卡页面。newtab覆盖自Firefox 54(在中实现)以来就可用
你可以这样做:
"chrome_url_overrides" : {
"newtab": "my-new-tab.html"
}
所以你的清单会变成这样
{
"description": "An example extension",
"homepage_url": "",
"manifest_version": 2,
"name": "wallpaper",
"permissions": [
"alarms",
"theme",
"<all_urls>"
],
"background": {
"scripts": ["background.js"]
},
"version": "1.0",
"gecko": {
"strict_min_version": "55.0a2"
},
"chrome_url_overrides" : {
"newtab": "my-new-tab.html"
}
}
{
“说明”:“示例扩展”,
“主页地址”:“,
“清单版本”:2,
“名称”:“壁纸”,
“权限”:[
“警报”,
“主题”,
“
可能您也想实现搜索。由于您还无法读取搜索引擎(),您可能希望通过在加载项中硬编码URL来实现搜索,添加下拉列表以选择您喜爱的搜索引擎。接下来,当用户输入查询并按ENTER键时,您可以替换当前的“新建”选项卡使用该方法使用搜索结果页创建页面,将url属性替换为搜索页面+查询的url
我打开了一个错误报告,要求提供一个API,以将背景图像设置为about:newtab和about:home。请参阅。我建议您阅读该页面(可能需要阅读从那里链接的页面)。它包含总体架构信息,这将有助于您了解事物的总体组织/完成方式。我已经阅读了您给我的链接,但没有找到解决方案。此外,我阅读了主题文档,但没有找到答案。好的。我指给您该文档,因为您为您的background.js f显示的代码ile意味着您不知道WebExtensions是如何组织的。在该脚本中使用加载
侦听器并更改正文
的样式是没有意义的,而且是完全无效的。虽然背景脚本与页面相关联,但该页面从未显示。我还没有玩过主题
接口(,),因此我不确定您所描述的是否可以使用WebExtensions(这当然不方便)。OTOH,一种可能性是您可以使用定义不同的新选项卡页面,但这并不相同。但是,我对主题
接口的理解是,它会影响标题(或“chrome”部分)我建议您阅读该页面(可能通过阅读从那里链接的页面进行工作)。它包含总体架构信息,这将有助于您了解事物的总体组织/完成方式。我已经阅读了您给我的链接,但没有找到解决方案。此外,我阅读了主题文档,但没有找到答案。好的。我指给您该文档,因为您为您的background.js f显示的代码ile意味着您不知道WebExtensions是如何组织的。在该脚本中使用加载
侦听器并更改正文
的样式是没有意义的,而且是完全无效的。虽然背景脚本与页面相关联,但该页面从未显示。我还没有玩过主题
接口(,),因此我不确定您所描述的是否可以使用WebExtensions(这当然不方便)。OTOH,一种可能性是您可以使用定义不同的新选项卡页面,但这并不相同。但是,我对主题
接口的理解是,它会影响标题(或“chrome”部分)仅适用于浏览器。