提问人:Greedo 提问时间:7/25/2017 最后编辑:double-beepGreedo 更新时间:6/16/2022 访问量:3689
我可以在新标签页上运行用户脚本吗?
Can I run a userscript on the new tab page?
问:
我有一个非常简单的用户脚本,是我用 TamperMonkey 编写的,我希望它在 Chrome 新标签页上运行。
根据本站的说法,没有办法在新标签页上运行用户脚本:
新标签页的网址为“chrome://newtab/”,Chrome 不允许扩展程序将脚本注入该页面。
但是如果我在标题部分指定,我的脚本运行良好
// @match *://*/*
以匹配所有页面。不过,我宁愿代码只在新标签页上运行,这可能吗?
完整脚本:
// ==UserScript==
// @name Hide Buttons
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Test script
// @author Greedo
// @match *://*/*
// @grant none
// ==/UserScript==
(function(window, chrome) {
"use strict";
var doc = window.document;
doc.getElementById("mv-tiles").style.opacity = "0";
doc.getElementById("f").style.opacity = "0.1";
}(window, chrome));
我使用的是 Chrome 版本 59.0.3071.115。
答:
0赞
VirusterDev
6/8/2022
#1
在脚本加载之前,在代码中放置以下要求:
if(document.URL == 'chrome://new-tab-page/'){
// Your user script code
}
0赞
Arslan Sohail Bano
6/16/2022
#2
尝试使用 并打印 你会看到该属性不包含 but(在我的情况下)。@match *://*/*
window.location
href
chrome://new-tab-page/
https://ogs.google.com/u/0/widget/app?origin=chrome-untrusted%3A%2F%2Fnew-tab-page&origin=chrome%3A%2F%2Fnew-tab-page&cn=app&pid=1&spid=243&hl=en
如果我使用该脚本不起作用,但如果使用其他 URL,它确实有效。chrome://new-tab-page/
这是我用来获取 URL 的:
// ==UserScript==
// @name Hide Buttons
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Test script
// @author Greedo
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
"use strict";
console.log(window.location)
}());
评论
@match https://www.google.com/_/chrome/newtab*