Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on MediaWiki JavaScript way to view the history of a page

Post

MediaWiki JavaScript way to view the history of a page

+0
−0

I wish to view the revision-history-webpage of a webpage in MediaWiki without the conventional button to do so (I've disabled that button for aesthetic reasons).

Please disable the MediaWiki View History built-in button and try this keypress JavaScript to view the revision history of an article (credit to user:hkotsubo).

let domain = window.location.host;
let protocol = window.location.protocol;
let h1 = document.querySelector("h1");
window.addEventListener('keydown', function(event) {
    if (event.altKey && event.shiftKey && event.key === 'H') {
        window.location.href = `${protocol}//${domain}/index.php?title=${h1.innerText}&action=history`;
    }
});

Running this code in MediaWiki 1.36.1 in Hebrew doesn't work.
I get "אין פעולה כזו" (there's no such action).

Why would this happen and how to solve that problem?

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

The "title" query parameter value in your URL is probably not what MediaWiki expects (5 comments)
The "title" query parameter value in your URL is probably not what MediaWiki expects
elgonzo‭ wrote over 2 years ago · edited over 2 years ago

Probably the displayed title in the <H1> element differs from the actual title slug you need to give in the query part of the URL.

Since WikiMedia is for example used by Wikipedia, i suggest to visit Wikipedia and observe what title slugs it uses in the URLs to the history page with respect to different languages (like Hewbrew) and "special" characters in the title (like white-spaces or ampersands, for example).

Also observe the relationship between the URL of a wiki page and the title query parameter in the URL for the history page of that wiki page.

deleted user wrote over 2 years ago

But other commands work with the same title:

let domain = window.location.host;
let protocol = window.location.protocol;
let h1 = document.querySelector("h1");

window.addEventListener('keydown', function(event) {
    if (event.altKey && event.shiftKey && event.key === 'E') {
        window.location.href = `${protocol}//${domain}/index.php?title=${h1.innerText}&action=edit`;
    }
});

window.addEventListener('keydown', function(event) {
    if (event.altKey && event.shiftKey && event.key === 'D') {
        window.location.href = `${protocol}//${domain}/index.php?title=${h1.innerText}&action=delete`;
    }
});

window.addEventListener('keydown', function(event) {
    if (event.altKey && event.shiftKey && event.key === 'M') {
        window.location.href = `${protocol}//${domain}/index.php/Special:MovePage/${h1.innerText}`;
    }
});
elgonzo‭ wrote over 2 years ago · edited over 2 years ago

Alright. Where exactly do you see this "אין פעולה כזו" error message? In your browser console, or is this part of an error page sent by the MediaWiki server?

elgonzo‭ wrote over 2 years ago · edited over 2 years ago

Come to think of it, i start suspecting that, depending on how exactly you disabled the "View History" button, you did not just disable that button but the entire history view feature.

For testing my suspicion, enable the "View History" button again, and then test your script again. Does the script work then?

(And while you are at it, when the "View History" button is enabled and your script is still not working, what is the precise URL the "View History" button is using to open the history page?)

deleted user wrote over 2 years ago · edited over 2 years ago

elgonzo‭ "אין פעולה כזו" is the H1 of a webpage which, according to the URL, should have been the exact webpage of the history. So, this page has the same URL index.php?title=כותרת_ראשית&action=history.