The following performs better:
@match
is much less resource intensive than regex includes.- Not all platforms support regex includes.
- Run at doc start so that don't have to wait for most of the page to load before redirecting.
- Use
location.replace
so that browser history is not filled with junk pages and back button works as expected. - All SE sites are matched. The redirect appears to do no harm on sites that don't have the new profile pages yet.
(Not yet fully tested, but should be okay across all sites)
// ==UserScript==
// @name 'Activity' tab as default
// @description A userscript that automatically shows the Activity tab as default on profile pages
// @match *://*.askubuntu.com/users/*
// @match *://*.mathoverflow.net/users/*
// @match *://*.onstartups.com/users/*
// @match *://*.serverfault.com/users/*
// @match *://*.stackapps.com/users/*
// @match *://*.stackexchange.com/users/*
// @match *://*.stackoverflow.com/users/*
// @match *://*.superuser.com/users/*
// @grant none
// @run-at document-start
// ==/UserScript==
if (! location.search && ! location.hash && ! /\/users\/edit\//i.test (location.pathname) ) {
location.replace (location.href + "?tab=topactivity");
}