Tampermonkey script that runs only in incognito? - tampermonkey

Is it possible to make any script into a script that only runs on www.example.com, Only if the website is being accessed from an incognito window? (chrome)

I've added a isIncognito flag to Tampermonkey's GM_info. So you now can check the incognito mode like this:
// ==UserScript==
// #name testIncognito
// #namespace http://tampermonkey.net/
// #version 0.1
// #description enter something useful
// #match http://*/*
// #copyright 2012+, You
// ==/UserScript==
if (GM_info.isIncognito) {
alert([ GM_info.scriptHandler, 'detected incognito mode #', window.location.href ].join(' '));
}
Please not that this at the moment only is available at TM beta version 3.0.3353 and higher.

Related

Dose Tampermonkey can run script before the page loaded?

I'm trying to use tampermonkey to refresh a website, its works except the server was busy, and the respond time is long, may i know can the script run before the page fully loaded?
I would also wanna now can the script work on any website without the #match / #include?
Many thanks.
// #name TEST
// #version 1
// #grant none
// #match http://busy.example.com
// ==/UserScript==
setTimeout(
function(){
document.location = "http://example.com";
}, 10
);

Is there a way to allow Tampermonkey to run on the chrome homepage?

I am trying to make an extension using the right click menu. I noticed that the menu didn't display on the Chrome homepage because Tampermonkey didn't run on it. This is my current code:
// ==UserScript==
// #name Go to Website.Net
// #namespace http://tampermonkey.net/
// #description Context menu to execute UserScript
// #version 0.1
// #author author
// #include *
// #grant GM_openInTab
// #run-at context-menu
// ==/UserScript==]
(function() {
'use strict';
GM_openInTab("https://website.net");
})();
Is there a way to allow Tampermonkey to run on the chrome homepage?

Why does a tampermonkey script for https://news.google.com/* appear in the menu for https://www.nytimes.com/?

I have a tampermonkey script with this header:
// ==UserScript==
// #name Google News - Remove old articles
// #namespace http://tampermonkey.net/
// #version 0.2
// #description Remove articles that already appeared recently
// #author AC
// #require http://code.jquery.com/jquery-latest.js
// #match https://news.google.com/*
// #icon https://www.google.com/s2/favicons?domain=google.com
// #grant none
// ==/UserScript==
When I am on the page https://www.nytimes.com/ and I click on the tampermonkey icon in the Firefox toolbar, this script appears. Why?
Because the page contains an iframe, and that iframe links to news.google.com:
Userscripts run in iframes, and when they do, they get added to the Tampermonkey icon at the top.

How load a local CSS file to specific site

I'm looking for a way to make the function GM_addStyle add CSS straight from the #resource on my local drive (I use macOS). My goal is to speed up the development of this CSS file.
Right now I'm copy&pasting changes to Tampermonkey > saving the userstyle & reloading the page.
Not working:
// ==UserScript==
// #name my style
// #version 0.1
// #description a few friendliness tweaks
// #author thomas
// #match http://stackoverflow.com/*
// #resource my_style file:///Users/thomas/style.css
// #grant GM_addStyle
// ==/UserScript==
(function() { 'use strict'; GM_addStyle(GM_getResourceText('my_style')); })();
Thanks

Tampermonkey script not auto-updating

At the top of my script I have the following:
// ==UserScript==
// #name Test script
// #description testing auto-update
// #namespace http://tampermonkey.net/
// #author newbie
// #version 1.0.0
// #updateURL https://github.com/mygithubaccount/test/raw/master/test.user.js
// #downloadURL https://github.com/mygithubaccount/test/raw/master/test.user.js
// #match http://awebsite.com/*
// #run-at document-end
// #grant GM_getResourceText
// #grant GM_addStyle
// #grant GM_xmlhttpRequest
// #grant GM_getResourceURL
// #grant GM_xmlhttpRequest
// ==/UserScript==
Please note that these values are just for example.
When I make changes on the script and increase the version number on github and then push the changes to master it updates the raw script link, however I don't get auto-updates from Tampermonkey as in popups saying the script has an update. It will only update if I manually go to the link and reinstall the script to update it.
How can I make this auto-update with popups?
I am not an expert at userscripts, can only tell from my experience making TamperMonkey work:
In order for TamperMonkey to update, I had to copy&paste the URL into Update URL: on the script's Settings tab:
(Make sure ☒ Check for updates is turned on, obviously.)
Then if you manually Check for userscript updates on the TamperMonkey icon, you should see a proper popup.

Resources