Здравствуйте.
Мне нужно сделать редирект для вк с мобильной версии на десктопную. С сохранением пути ссылки.

Допустим перехожу я на http://m.vk.com/club8182659 , а меня должно перенаправить на http://vk.com/club8182659.

Меня хватило только на такой код.. Как сделать чтобы кусок после vk.com/* переносился я не знаю :|

простой редирект

Выделить код

Код:

// ==UserScript==
// @name       Redirector VK
// @namespace  Redirector VK
// @match      http://*/*
// @run-at document-start
// ==/UserScript==

redirectToPage("http://m.vk.com/", "https://vk.com/");
redirectToPage("https://m.vk.com/", "https://vk.com/");

function redirectToPage(page1, page2){
if(window.location.href.indexOf(page1) != -1){
    window.location.href = page2;
}
}


Сможет кто помочь?

Выделить код

Код:

    window.location.href.replace('m.vk.com','vk.com');

Но в гризманки вы не сможете сделать этого. В нем возможен только перехват событий в контексте страницы, а не браузера. Если только я чего-то не знаю. Можно только как-то так. Вам же нужен Custom Buttons и листенер на onLocationChange. Там он уже сделал ее.

turbot пишет:

Но в гризманки вы не сможете сделать этого. В нем возможен только перехват событий в контексте страницы, а не браузера.

Скрипты я вставляю в AdGuard и они работают на "кроссплатформенной основе".

turbot пишет:

window.location.href.replace('m.vk.com','vk.com');

не работает(

Tungen пишет:

в AdGuard

Ну и надо было сразу уточнить. Ставить проверять нет желания.
В CB даже проще можно, без onLocationChange:

Выделить код

Код:

function redirect() {
  if(window.location.href.indexOf('m.vk.com') != -1){
    window.location.href.replace('m.vk.com','vk.com');
  }
}
gBrowser.tabContainer.addEventListener("TabAttrModified", redirect, false);

Проверил, работает. Я черт знает, как там в вашем AdGuard это реализовать, но отталкивайтесь от

Выделить код

Код:

    if(window.location.href.indexOf('m.vk.com') != -1){
      window.location.href.replace('m.vk.com','vk.com');
    }

Нашел решение. Может кому пригодиться.

Выделить код

Код:

// ==UserScript==
// @version         1.0.1
// @name            Redirect on desktop vk.com
// @namespace       Редирект на десктопную страницу vk.com с мобильной версии m.vk.com
// @description     Автоматическое перенаправленные на десктопную страницу vk.com с мобильной версии m.vk.com
// @icon            http://i3.imageban.ru/out/2016/03/20/01c7e5fa30d361f626cf6541d7c3deb8.png
// @include         https://m.vk.com/*
// @include         http://m.vk.com/*
// ==/UserScript==

window.location.href = window.location.href.replace('m.vk', 'vk');

greasyfork

>> window.location.href = window.location.href.replace('m.vk', 'vk');
хм.. а где проверка тот ли этот действительно домен???

ибо  такое редиректор будет тупо заменять например гугловский запрос типа https://www.google.ru/search?q=m.vk&ie=utf-8&oe=utf-8 заменит m.vk на vk
а вдруг ещё например у сайта http://vkino-tv.ru/ появится мобильная версия http://m.vkino-tv.ru/ он там тоже отработает?

ds(ds) пишет:

>> window.location.href = window.location.href.replace('m.vk', 'vk');
хм.. а где проверка тот ли этот действительно домен???

ибо  такое редиректор будет тупо заменять например гугловский запрос типа https://www.google.ru/search?q=m.vk&ie=utf-8&oe=utf-8 заменит m.vk на vk
а вдруг ещё например у сайта http://vkino-tv.ru/ появится мобильная версия http://m.vkino-tv.ru/ он там тоже отработает?

Скрипт запускается только на этих доменах.

// @include         https://m.vk.com/*
// @include         http://m.vk.com/*