我想制作一个用户脚本(现在我只担心 Chrome 兼容性)每 30 秒重新加载一次页面(我的意思是,这不是重点,我只是想在互联网离线时以某种方式执行一些脚本),以防万一互联网出现故障,用户无法看到它。
现在的问题是,一旦互联网出现故障,页面将被重定向到“此网页不可用”,并且所有用户脚本都会停止工作。
我已经尝试添加@include *元数据,希望这将使用户脚本能够在所述页面上工作,但是我没有成功。
javascript greasemonkey google-chrome userscripts tampermonkey
我需要在打字稿上重写我的tampermonkey 脚本。
在打字稿上重写此 javascript 的正确方法是什么?
if (window.top != window.self ) {
return;
}
Run Code Online (Sandbox Code Playgroud)主要目标是如果脚本不在 window.top 中运行,则停止执行脚本。
Typescript 编译器写入错误 TS1108:“return”语句只能在函数体内使用。
我setInterval()在典型的脚本中使用了很多次,但没有在用户脚本中使用过。出于某种原因,console.log()不起作用,但仅在 setInterval 内。但是,警报正在起作用。有任何想法吗..?我不应该使用 console.log 吗?
澄清一下,第一个console.log("Started!");实际上是打印开始的。
(function() {
console.log("Started!");
setInterval(function(){ findAndReplace();}, 3000);
})();
function findAndReplace() {
alert("hi");
console.log("Hey");
}
Run Code Online (Sandbox Code Playgroud) chrome://history/为什么 tampermonkey 对或 之类的网址不起作用chrome://settings/?有什么方法可以在此页面上运行用户脚本吗?
基本上,当我进入 YouTube 页面时,tampermonkey 会说脚本正在运行,但事实并非如此。刷新页面后,它工作正常。
我发现了一些其他有类似问题的帖子,他们使用了 waitForKeyElements。然而,我不完全理解它是如何工作的,也无法自己让它工作。
我正在制作的脚本可以在这里找到
我尝试用函数包围一切
betterYoutubeScrolling()
{
// code
}
Run Code Online (Sandbox Code Playgroud)
并添加
waitForKeyElements ("#movie_player", betterYoutubeScrolling);
Run Code Online (Sandbox Code Playgroud)
到开始。执行此操作后,我在控制台中收到以下错误。
“ReferenceError:waitForKeyElements 未定义”
我找不到有关 waitForKeyElements 的任何其他信息或解决问题的任何其他方法,因此感谢任何帮助。
所以这看起来应该很简单,但我在谷歌上找不到它。我有一个从 Chrome 扩展商店下载的 Google Chrome 扩展程序,我正在尝试稍微调整它在 chrome-extension:// 页面上显示某些内容的方式。TamperMonkey 通常在 http:// 页面上非常适合此操作,但我似乎无法让我的脚本为 chrome-extension:// 页面激活。有谁知道如何做到这一点?
javascript google-chrome google-chrome-extension tampermonkey
我需要从前端发送通知。通知将使用 Tampermonkey Chrome 扩展程序监控来自网站的分析数据。
这可能吗?
我正在尝试覆盖网站 ( ) 设置的功能window.jsl.dh。这是声明:
window.jsl = window.jsl || {};\nwindow.jsl.dh = window.jsl.dh || function(i, c, d) { blabla }\nRun Code Online (Sandbox Code Playgroud)\n我想分配dh一个无用的函数,但在敲了我的头一段时间后,我不知道什么是真实的了。我尝试过创建一个假的dh()and Object.freeze(window.jsl),使用代理,添加设置器,为我的笔记本电脑加油......没有运气。 \n无论我做什么,那段代码似乎都可以不受阻碍地运行,并且dh()函数总是被分配并运行而无需问题。
这是代码:
\n window.jsl = window.jsl || {};\n window.jsl.dh = function () {\n console.log('Called the dud');\n };\n Object.freeze(window.jsl);\nRun Code Online (Sandbox Code Playgroud)\n如果我在TM脚本运行之后、站点声明之前设置断点,并在控制台中手动输入相同的代码,它就会起作用。
\n认为这可能是一个沙箱问题,我弄乱了@grant阳光下的每个脚本注入方法 \xe2\x80\x94also 与@run-at.
不明白为什么它不能单独工作,我已经没有想法了。
\njavascript google-chrome google-chrome-devtools tampermonkey
我使用 HTML、CSS 和 JS 创建了一个工具。我希望可以通过 TamperMonkey 访问该工具。我发现了一个 TamperMonkey 脚本,其中创建者没有将其代码直接添加到脚本中,而是利用 @require 行来链接他的 Web 托管代码文件。
我正在尝试重现此内容,但我不想添加 https 链接,而是想从本地文件开始。
这是他的代码(匿名):
// ==UserScript==
// @name name
// @version version
// @author author
// @description description
// @match URL where the tool will be used
// @require https://hiscodelink1.js?raw=1
// @require https://hiscodelink2.js?raw=1
// @require https://hiscodelink3.class.js?raw=1
// ==/UserScript==
// See https://hiscodelink1.js?raw=1
Run Code Online (Sandbox Code Playgroud)
这是我的(匿名):
// ==UserScript==
// @name name
// @version version
// @author author
// @description description
// @match URL where the tool will be used (using the …Run Code Online (Sandbox Code Playgroud) 我正在使用 setInterval(在 3 个 Tampermonkey 脚本内)每隔几秒检查三个不同的公共网站,这样当特定文本出现时我就可以收到警报。这些警报适用于自由职业机会,可能会在几秒钟内到期,所以我必须快点。
一切正常,除了当我在不同的选项卡或应用程序中工作时,大约 6 分钟后,setInterval 开始每分钟“触发”一次后台选项卡,而不是每隔几秒一次。
有什么建议如何解决这个问题吗?是否可以以某种方式使用 Date.now() ?请注意,我是一个完全的初学者,愿意学习,但需要使事情尽可能简单。
我尝试使用 window.location.reload() 每 3 分钟重新加载一次页面,但这不起作用。我想我可以创建一个脚本来每隔几分钟激活并聚焦该选项卡,但这会中断我正在处理的任何事情。我使用以下准系统脚本针对https://www.google.co.uk/进行了测试,以防脚本中的其他内容导致问题,但也会发生同样的情况:
var i = 0;
setInterval(function() {
console.log("log: i:" + i);
i = i+1;
if(i==15) {
i = 0;
window.location.reload();
console.log("reloaded window");
}
}, 10000);
Run Code Online (Sandbox Code Playgroud)
几分钟后,即使在窗口重新加载之后,i 每分钟仅增加一次。
我看过这个问题
它提到了“工人”,但是这些可以在我不拥有的公共网站上的 tampermonkey 中使用吗?它还提供了一个链接,建议一种播放几乎听不见的音频文件的解决方法 - 但我不知道在我的 tampermonkey 脚本中播放该文件是否有效?
我看到这里有很多解决方法,但我不确定是否可以使用其中任何一个。
例如,可以在篡改猴中使用 MutationObserver 来检测公共网站的更改吗?即使可以,大概我每次需要检查时都必须重新加载网页?目前我正在使用 XMLHttpRequest 而不是加载网页(速度更快并且使用更少的 CPU)。
有趣的是,上面的链接似乎表明 setInterval 和 SetTimeout 是专门针对限制的,我想知道这是否意味着我可以使用其他函数来代替。
我也见过这个,但我想我只能将其用于我拥有的网站?
tampermonkey ×10
javascript ×8
greasemonkey ×4
userscripts ×3
email ×1
jquery ×1
setinterval ×1
typescript ×1
youtube ×1