More actions
No edit summary |
No edit summary Tag: Reverted |
||
| Line 66: | Line 66: | ||
document.title = document.title + siteName; | document.title = document.title + siteName; | ||
} | } | ||
}); | |||
// Clean up tab URLs in address bar | |||
$(function() { | |||
var observer = new MutationObserver(function() { | |||
var hash = window.location.hash; | |||
if (hash && hash.indexOf('tabber-tabpanel-') !== -1) { | |||
var cleanName = hash.replace('#tabber-tabpanel-', '#').replace(/-\d+$/, '').replace(/_/g, ' '); | |||
history.replaceState(null, '', cleanName); | |||
} | |||
}); | |||
observer.observe(document.body, { childList: true, subtree: true, attributes: true }); | |||
window.addEventListener('hashchange', function() { | |||
var hash = window.location.hash; | |||
if (hash && hash.indexOf('tabber-tabpanel-') !== -1) { | |||
var cleanName = hash.replace('#tabber-tabpanel-', '#').replace(/-\d+$/, '').replace(/_/g, ' '); | |||
history.replaceState(null, '', cleanName); | |||
} | |||
}); | |||
}); | }); | ||
Revision as of 18:40, 13 April 2026
/* Any JavaScript here will be loaded for all users on every page load. */
$(function() {
$('[accesskey="t"]').removeAttr('accesskey');
$('[accesskey="n"]').removeAttr('accesskey');
$('#pt-mytalk').remove();
$('#ca-talk').remove();
$('#ca-addsection').remove();
});
$(function() {
// Handle redirects with tab switching
var $redirect = $('span.mw-redirectedfrom a');
if ($redirect.length) {
waitAndSwitchTab($redirect.text().trim());
}
// Handle hash-based tab switching
if (window.location.hash && window.location.hash.indexOf('tabber-tabpanel') !== -1) {
waitAndSwitchTab(null, window.location.hash.substring(1));
}
// Intercept search result clicks
document.addEventListener('click', function(e) {
var link = e.target.closest('a');
if (!link) return;
if (!link.closest('.citizen-typeahead')) return;
var redirectLabel = link.querySelector('.citizen-typeahead__labelItem[title*="redirect from"]');
if (redirectLabel) {
var match = redirectLabel.getAttribute('title').match(/redirect from (.+)\)/);
if (match) {
e.preventDefault();
e.stopPropagation();
window.location.href = '/' + encodeURIComponent(match[1]);
}
}
}, true);
function waitAndSwitchTab(from, panelId) {
var observer = new MutationObserver(function(mutations, obs) {
var panels = document.querySelectorAll('[role="tabpanel"]');
if (panels.length > 0) {
if (panelId) {
var tab = document.querySelector('[aria-controls="' + panelId + '"]');
if (tab) tab.click();
} else if (from) {
panels.forEach(function(panel) {
if (panel.textContent.indexOf(from) !== -1) {
var id = panel.getAttribute('id');
var tab = document.querySelector('[aria-controls="' + id + '"]');
if (tab) tab.click();
}
});
}
obs.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
}
});
$(function() {
var siteName = ' - Stargaze Community Wiki';
if (document.title.indexOf(siteName) === -1) {
document.title = document.title + siteName;
}
});
// Clean up tab URLs in address bar
$(function() {
var observer = new MutationObserver(function() {
var hash = window.location.hash;
if (hash && hash.indexOf('tabber-tabpanel-') !== -1) {
var cleanName = hash.replace('#tabber-tabpanel-', '#').replace(/-\d+$/, '').replace(/_/g, ' ');
history.replaceState(null, '', cleanName);
}
});
observer.observe(document.body, { childList: true, subtree: true, attributes: true });
window.addEventListener('hashchange', function() {
var hash = window.location.hash;
if (hash && hash.indexOf('tabber-tabpanel-') !== -1) {
var cleanName = hash.replace('#tabber-tabpanel-', '#').replace(/-\d+$/, '').replace(/_/g, ' ');
history.replaceState(null, '', cleanName);
}
});
});