Skip to content

Instantly share code, notes, and snippets.

@flaksp
Last active April 23, 2024 12:16
Show Gist options
  • Save flaksp/75d7be3466a51e5dac4f94d38915296d to your computer and use it in GitHub Desktop.
Save flaksp/75d7be3466a51e5dac4f94d38915296d to your computer and use it in GitHub Desktop.
Userscript для автоматического редиректа с m.vk.com на vk.com

Userscript для автоматического редиректа с m.vk.com на vk.com

Юзерскрипт совместим с Userscripts, Tampermonkey, и может быть совместим с другими аналогичными приложениями, которые поддерживают такой формат юзерскриптов.

Как установить

Откройте "Redirect from m.vk.com to vk.com.user.js" в браузере. Ваше расширение для юзерскриптов поймет, что это юзерскрипт, и предложит его установить. Либо скопируйте содержимое файла и создайте юзерскрипт самостоятельно.

Юзерскрипт будет обновляться автоматически, если я решу его доработать. Если вам не нужно автообновление, то удалите строки @updateURL и @version.

Как это работает

На странице мобильной версии ВКонтакте будет создан таймер, который запускается каждые 3 секунды. При запуске таймера на странице будет искаться ссылка "Версия для компьютера" и будет эмулироваться нажатие на эту ссылку.

Таймер нужен потому, что ссылка на странице появляется не сразу, и мы не можем знать когда именно она появится.

// ==UserScript==
// @name Redirect from m.vk.com to vk.com
// @description Автоматическое перенаправленные на десктопную страницу vk.com с мобильной версии m.vk.com
// @updateURL https://gist.github.com/flaksp/75d7be3466a51e5dac4f94d38915296d/raw/Redirect%2520from%2520m.vk.com%2520to%2520vk.com.user.js
// @version 1.0.0
// @match https://m.vk.com/*
// @match https://m.vk.ru/*
// ==/UserScript==
setInterval(() => {
let openDesktopVersionLink = document.querySelector('a[href*="act=client_url_proxy"][href*="_openBrowser=1"]') ?? undefined;
if (openDesktopVersionLink === undefined) {
console.info('[Userscript] Could not find a link that opens desktop version');
return;
}
openDesktopVersionLink.click();
}, 3000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment