标签: userscripts

即使网站离线,如何保持我的用户脚本正常工作?

我想制作一个用户脚本(现在我只担心 Chrome 兼容性)每 30 秒重新加载一次页面(我的意思是,这不是重点,我只是想在互联网离线时以某种方式执行一些脚本),以防万一互联网出现故障,用户无法看到它。

现在的问题是,一旦互联网出现故障,页面将被重定向到“此网页不可用”,并且所有用户脚本都会停止工作。

我已经尝试添加@include *元数据,希望这将使用户脚本能够在所述页面上工作,但是我没有成功。

javascript greasemonkey google-chrome userscripts tampermonkey

5
推荐指数
1
解决办法
1683
查看次数

如何在打字稿中“返回”外部函数定义

  1. 我需要在打字稿上重写我的tampermonkey 脚本。

  2. 在打字稿上重写此 javascript 的正确方法是什么?

    if (window.top != window.self ) {
        return;
    }
    
    Run Code Online (Sandbox Code Playgroud)

主要目标是如果脚本不在 window.top 中运行,则停止执行脚本。

Typescript 编译器写入错误 TS1108:“return”语句只能在函数体内使用。

javascript userscripts typescript tampermonkey

5
推荐指数
1
解决办法
1万
查看次数

在 chrome://settings 和类似的 url 上运行用户脚本

chrome://history/为什么 tampermonkey 对或 之类的网址不起作用chrome://settings/?有什么方法可以在此页面上运行用户脚本吗?

greasemonkey userscripts tampermonkey

5
推荐指数
1
解决办法
727
查看次数

如何在 Greasemonkey 脚本中提供链接来备份 GM__---value 数据库?

我目前正在使用 GM_setValue 和 GM_getValue 将数据存储在我在 Greasemonkey 中创建的用户脚本中。我希望能够轻松地将数据保存在 GM 存储脚本本身的所有数据的 sqlite 数据库中。

例如,在页面右上角创建一个显示“备份数据”的链接。单击时,它将直接下载 .sqlite 文件或其 JSON.stringify() 值。

这有可能吗?我尝试采用这里的代码:Create text file in JavaScript,但它很难看,这是一项巨大的黑客工作,并且需要使用 unsafeWindow.open() ,我无法想象当/如果我结束时它会很好地扩展有一个 100k 字符长的 JSON 字符串

javascript firefox greasemonkey userscripts

5
推荐指数
1
解决办法
172
查看次数

用户脚本仅适用于后端提供的页面,但不适用于 SPA 方式的前端

我在 Greasemonkey/Tampermonkey 上运行以下用户脚本。

我运行它,facebook.com它在引导过程中从后端提供一些网页,而在前端则通过 HRO 动态提供其他一些网页,就像单页应用程序 (SPA) 一样。

// ==UserScript==
// @name        facebook
// @namespace   nms
// @include     http://*.facebook.com/*
// @include     https://*.facebook.com/*
// @version     1
// @grant       none
// ==/UserScript==

setTimeout( () => {
    // generalStuff:
        document.querySelectorAll(' #left_nav_section_nodes, .fbChatSidebar ').forEach( (e)=> {
            e.style.visibility = "hidden";
        });

}, 1000);
Run Code Online (Sandbox Code Playgroud)

如果我在控制台上运行此脚本,即使在基于 HRO 的网页中,它也可以正常运行,但是当从 Greasemoneky/Tampermonkey 运行时,它不会在这些特定网页中运行。

我怎样才能使脚本在类似 SPA 的网页上也能正常工作?

javascript ajax console userscripts single-page-application

5
推荐指数
1
解决办法
1876
查看次数

如何从 Google Chrome 中删除 PWA 安装按钮?

在我的台式电脑上,我不希望在 Google Chrome 地址栏中看到 PWA 安装按钮,也不希望在菜单中看到安装选项。我无意安装或使用它们,也不想让它们不断地推到我的脸上。

在我的 Android 手机上,我也想要同样的功能,但如果我意外地从 Play 商店安装 PWA,我也希望看到一条警告,因为它没有正确显示为 PWA。

我的浏览器中是否有可以关闭的隐藏设置或标志?我可以使用 Tampermonkey 吗?帮助!

(我不想详细说明为什么我想要这个,只是说有一家公司试图强迫我使用 PWA,但没有向我提供退款选项,因为我不再收到我想要的软件或服务。付费的。我还没有看到 PWA 提供其网站所没有的功能。)

user-interface google-chrome userscripts progressive-web-apps

5
推荐指数
0
解决办法
2451
查看次数

在用户脚本中使用“revert”CSS 关键字

revert我尝试根据关键字是在用户脚本中使用还是在网站本身中使用来找出关键字工作方式的差异。

MDN 上的一篇文章描述了这种差异:

此关键字从级联中删除所有已被覆盖的样式,直到达到要回滚到的样式。

  • 如果由站点自己的样式(作者来源)使用,revert则将属性的级联值回滚到用户的自定义样式(如果存在);否则,它将样式回滚到用户代理的默认样式。
  • 如果在用户的自定义样式表中使用,或者样式由用户(用户源)应用,revert则将级联值回滚到用户代理的默认样式。

然而,我自己并没有看到任何区别。有人可以举个例子吗?

css userscripts

5
推荐指数
1
解决办法
233
查看次数

使用HTML和CSS阻止UI

我正在写一个用户脚本.我想做的事情非常简单.我需要在脚本执行一些后台任务时阻止UI.我在另一个SO问题中看到了这个方法,我改变了一下以适合我.

检查这个小提琴.当您单击按钮时,它会覆盖UI.

现在,因为这将在网页上使用,我需要通过脚本将以下HTML部分注入网页.

<div id="blocker">
<div>Loading...<img src="http://www.socialups.com/static/images/fbinventory/ajax_loader.gif"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我是这样做的.

var blockUI = document.createElement("div");
blockUI.setAttribute("id", "blocker");
blockUI.innerHTML = '<div>Loading...<img src="http://www.socialups.com/static/images/fbinventory/ajax_loader.gif"></div>'
document.head.appendChild(blockUI);
Run Code Online (Sandbox Code Playgroud)

检查这个小提琴是否有明确的想法.

但它不起作用.我尝试了几种方法来解决问题,但无济于事.任何人都可以指出我在这里做错了什么?

谢谢.

PS - 我需要在不使用jQuery或库blockUI的情况下执行此操作.

html javascript css blockui userscripts

4
推荐指数
1
解决办法
3175
查看次数

通过Greasemonkey / Tampermonkey / Userscript将参数添加到URL(重定向)

我想编写一个Greasemonkey /用户脚本,该脚本会自动添加.compact到以https://pay.reddit.com/开头的URL,因此它会自动将我重定向到移动版本。

我一直在寻找类似的用户脚本,尤其是以下用户脚本:https ://userscripts.org/scripts/review/112568 试图弄清楚如何编辑替换模式,但是我在这一领域缺乏技能。

如何编写将我从重定向https://pay.reddit.com/*到的Greasemonkey脚本https://pay.reddit.com/*.compact

谢谢

url redirect greasemonkey userscripts tampermonkey

4
推荐指数
1
解决办法
6382
查看次数

GM_getTab(cb)如何工作?

似乎没有有关这些功能如何工作的任何信息。我认为这些是Tampermonkey专有功能?
看起来它们旨在允许当前正在运行的Tampermonkey脚本之间进行通信。持续轮询GM_Value存储以进行更改的替代方法。这是一个非常有趣的想法。

但是我不知道如何使用它们。他们采用什么价值观,您得到什么样的对象?
您如何使用这三个功能,我的目的是否正确?

GM_getTab(cb)
获取一个持久对象,只要此选项卡处于打开状态。

GM_saveTab(tab)
保存标签对象,以在页面卸载后重新打开它。

GM_getTabs(cb)
获取数组中的所有选项卡对象,以便与其他Scrip实例进行通信。

http://forum.tampermonkey.net/viewtopic.php?f=16&t=74

userscripts tampermonkey

4
推荐指数
1
解决办法
1422
查看次数