Как перенаправить на один из данного набора сайтов?

Я создал скрипт пользователя для перенаправления на один из указанных нескольких сайтов:

// ==UserScript==
// @id             fvhfy464
// @name           [udit]redirector to yahoo or google
// @version        1.0
// @namespace      
// @author         
// @description    
// @include        http://yahoo.com
// @include        http://google.com
// @include        http://bing.com
// @run-at         document-end
// ==/UserScript==

setTimeout(function() {
    window.location.href("http://yahoo.com","http://google.com","http://bing.com")
}, 4000);

Но это не работает.

(Из комментариев:)
Я хочу открыть несколько сайтов на одной вкладке, одну за другой, случайным образом с интервалом в 4 секунды. Это как заставка сайтов.

Это может продолжаться вечно. Чтобы остановиться, мне просто нужно закрыть вкладку. И я буду устанавливать только эти сайты в @include который я хочу чтобы этот скрипт работал. Это как заставка фотографий и т. Д.

1 ответ

Решение

Поместите список сайтов, которые вы хотите отобразить, в массив. Затем вы можете отключить текущую страницу и перейти к следующей по порядку или выбрать случайную следующую.

Например, вот заказанное слайд-шоу:

// ==UserScript==
// @name        Multipage, MultiSite slideshow of sorts
// @match       http://*.breaktaker.com/*
// @match       http://*.imageshack.us/*
// @match       http://static.tumblr.com/*
// @match       http://withfriendship.com/images/*
// ==/UserScript==

var urlsToLoad  = [
    'http://www.breaktaker.com/albums/pictures/animals/BigCat.jpg'
    , 'http://img375.imageshack.us/img375/8105/bigcats34ye4.jpg'
    , 'http://withfriendship.com/images/g/33769/1.jpg'
    , 'http://static.tumblr.com/yd0wcto/LXQlx109d/bigcats.jpg'
];

setTimeout (GotoNextURL, 4000);

function GotoNextURL () {
    var numUrls     = urlsToLoad.length;
    var urlIdx      = urlsToLoad.indexOf (location.href);
    urlIdx++;
    if (urlIdx >= numUrls)
        urlIdx = 0;

    location.href   = urlsToLoad[urlIdx];
}


Вот те же сайты обслуживаются случайным образом:

// ==UserScript==
// @name        Multipage, MultiSite slideshow of sorts
// @match       http://*.breaktaker.com/*
// @match       http://*.imageshack.us/*
// @match       http://static.tumblr.com/*
// @match       http://withfriendship.com/images/*
// ==/UserScript==

var urlsToLoad  = [
    'http://www.breaktaker.com/albums/pictures/animals/BigCat.jpg'
    , 'http://img375.imageshack.us/img375/8105/bigcats34ye4.jpg'
    , 'http://withfriendship.com/images/g/33769/1.jpg'
    , 'http://static.tumblr.com/yd0wcto/LXQlx109d/bigcats.jpg'
];

setTimeout (GotoRandomURL, 4000);

function GotoRandomURL () {
    var numUrls     = urlsToLoad.length;
    var urlIdx      = urlsToLoad.indexOf (location.href);
    if (urlIdx >= 0) {
        urlsToLoad.splice (urlIdx, 1);
        numUrls--;
    }

    urlIdx          = Math.floor (Math.random () * numUrls);
    location.href   = urlsToLoad[urlIdx];
}
Другие вопросы по тегам