Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Wallpaper Rotator (vkopt plugin)
- // @description (by KiberInfinity id13391307)
- // @include http://*vkontakte.ru/*
- // @include http://*vk.com/*
- // ==/UserScript==
- var vkThemeWallpaperRotator=null;
- (function(){
- var w={
- wid:0,
- walls:[
- 'http://cs9811.vk.me/u13391307/137964159/w_a648156f.jpg',
- 'http://cs9811.vk.me/u13391307/137964159/w_03ce8e6d.jpg',
- 'http://cs9811.vk.me/u13391307/137964159/w_eaff67d9.jpg',
- 'http://cs10787.vk.me/u13391307/137964159/w_0c77e2c4.jpg',
- 'http://cs10787.vk.me/u13391307/137964159/w_d190159c.jpg',
- 'http://cs301612.vk.me/v301612516/48c6/fnUyv-O8DaE.jpg'
- ],
- anim:400, //ms
- delay:3*1000, //ms
- lang:{
- 'SetBg':'\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0444\u043e\u043d',
- 'Help':'Wallpaper rotator'//'\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u043e\u0440\u0449\u0438\u043a\u0435 \u0444\u043e\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043d\u043e\u043f\u043a\u0438 <b>"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0444\u043e\u043d"</b> \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u043e\u043d \u0442\u0435\u043c\u044b.'
- },
- id:'vkTWallRttrBgUrl',
- css:function(){
- return '\
- .bg_anim{\
- position:fixed;\
- left:0px; top:0px; right:0px; bottom:0px;\
- background-attachment: fixed !important;\
- background-position: 50% 50% !important;\
- background-repeat: no-repeat !important;\
- background-size: cover !important;\
- -webkit-transition: opacity '+w.anim+'ms linear;\
- -moz-transition: opacity '+w.anim+'ms linear;\
- -o-transition: opacity '+w.anim+'ms linear;\
- transition: opacity '+w.anim+'ms linear;\
- }\
- ';
- },
- tpl:'html body, html body[onresize*="onBodyResize"][need_background]{ background:url("%URL%") fixed no-repeat 50% 50% !important; background-size: cover !important;}',
- run:function(){
- w.wid=Math.round(Math.random()*(w.walls.length-1));
- var bg=w.walls[w.wid];//localStorage[w.id] || "";
- /*
- if (bg!=""){
- bg=w.tpl.replace(/%URL%/g,bg);
- }*/
- var styleElement = document.createElement("style");
- styleElement.type = "text/css";
- styleElement.id=w.id;
- styleElement.appendChild(document.createTextNode(w.css()));
- var append=function(){
- var headID = document.getElementsByTagName('head')[0];
- if (!headID) {
- setTimeout(append,10);
- return;
- } else {
- headID.appendChild(styleElement);
- }
- }
- var append_bg=function(){
- var body = document.getElementsByTagName('body')[0];
- if (!body) {
- setTimeout(append_bg,10);
- return;
- } else {
- var bg1 = document.createElement("div");
- bg1.id='vk_bg1';
- bg1.style.opacity=1;
- bg1.style.backgroundImage="url('"+w.walls[w.wid]+"')";
- //console.log(w.walls[w.wid]);
- bg1.className='bg_anim';
- body.insertBefore(bg1, body.firstChild);
- bg1 = document.createElement("div");
- bg1.id='vk_bg2';
- bg1.style.opacity=1;
- w.wid=(w.wid+1)>=w.walls.length?0:w.wid+1;
- //console.log(w.walls[w.wid]);
- bg1.style.backgroundImage="url('"+w.walls[w.wid]+"')";
- bg1.className='bg_anim';
- body.insertBefore(bg1, body.firstChild);
- //body.appendChild(styleElement);
- }
- }
- append();
- append_bg();
- w.next_int=setInterval(w.next,w.delay);
- if (document.getElementById('vkSkinMan') && window._vkopt_started) vkMsg(w.lang['Help'],4000);
- },
- next:function(){
- var bg1=ge('vk_bg1');
- var bg2=ge('vk_bg2');
- var cur=(bg1.style.opacity==1?bg1:bg2);
- var next=(cur==bg1?bg2:bg1);
- bg1.style.opacity=(bg1.style.opacity==0)?1:0;
- /*
- next.style.opacity=1;
- cur.style.opacity=0;*/
- setTimeout(function(){
- w.wid=(w.wid+1)>=w.walls.length?0:w.wid+1;
- cur.style.backgroundImage="url('"+w.walls[w.wid]+"')";
- },w.anim+100);
- },
- set_wall:function(url){
- var bg = url || "";
- localStorage[w.id]=bg;
- if (bg!=""){
- bg=w.tpl.replace(/%URL%/g,bg);
- }
- document.getElementById(w.id).innerHTML=bg;
- return false;
- },
- onDisable:function(){
- document.getElementById(w.id).innerHTML='';
- clearInterval(w.next_int);
- re('vk_bg1');
- re('vk_bg2');
- },
- pvActions:function(photo_data){// return string
- console.log(photo_data);
- var src = photo_data.w_src || photo_data.z_src || photo_data.y_src || photo_data.x_src;
- return '<div>'+
- '<a href="#" class="fl_r" onclick="return vkThemeWallpaperRotator.set_wall(\'\');">x</a>'+
- '<a href="#" onclick="return vkThemeWallpaperRotator.set_wall(\''+src+'\');">'+w.lang['SetBg']+'</a>'+
- '</div>';
- }
- };
- vkThemeWallpaperRotator=w;
- })();
- vkThemeOnDisable=vkThemeWallpaperRotator.onDisable;
- vkThemeWallpaperRotator.run();
- /* VKOPT PLUGIN */
- if (!window.vkopt_plugins) vkopt_plugins={};
- (function(){
- var PLUGIN_ID = 'vkThemeWallpaperRotator';
- var PLUGIN_NAME = 'vk.com Theme Wallpaper Rotator';
- var ADDITIONAL_CSS='';
- vkopt_plugins[PLUGIN_ID]={
- Name:PLUGIN_NAME,
- css:ADDITIONAL_CSS,
- // FUNCTIONS
- init: null, // function(); //run on connect plugin to vkopt
- pvActions: null //vkThemeWallpaperRotator.pvActions, // function(photo_data); || String //PHOTOVIEWER_ACTIONS
- };
- if (window.vkopt_ready) vkopt_plugin_run(PLUGIN_ID);
- })();
Advertisement
RAW Paste Data
Copied
Advertisement