gulli:board Logo

Anzeige


  Antwort
sTu´-
Mitglied
 
Registrierungsdatum: Jan 2003
Beiträge: 440
(Opera) User-Javascript Sammlung

Hallo!

Seit diesem Thread bin ich auf den Geschmack von Userjs-Dateien gekommen.

Und da hab ich mir gedacht, ich stell euch meine aktuellen Dateien mal vor, in der Hoffnung, dass der ein oder andere hier etwas nachlegt.

1. Kein Anonym.to
Steht zwar im oben verlinkten Thread, aber der Vollständigkeit halber ...

PHP-Code:
// ==UserScript==
// @name           Gulli Kein AnonymTo
// @description    Entfernt die anonym.to-redirection von Links
// @include     http://board.gulli.com/*
// @include     http://www.cc-community.net/*
// ==/UserScript==

document.addEventListener('DOMContentLoaded', function (e) {
    var as = 
posts.getElementsByTagName('a');  
    for (var 
0< as.lengthi++)    {    
        if(as[
i].href.indexOf('http://anonym.to/?') == 0) {  
            as[
i].href unescape(as[i].href.substr(18)).replace(/&amp;/g'&');
        }         
    }
}, 
false); 

Wie zu sehen ist, funktioniert das auf jedem beliebigen vBulletin-Board (Z.B. cc-community.net)

2. YouTube autoplay stop
Hat mich schon immer genervt! Für FF gibts ein Plugin - bei Opera tuts dieses User-JS:

PHP-Code:
// ==UserScript==
// @name           YouTube autoplay stop
// @description    Verhindert das automatische Laden von YouTube-Videos
// @include       http://*youtube.com/watch*
// ==/UserScript==

var done false;
window.opera.addEventListener('BeforeScript',function(e) {    
    if (
done == false && document.getElementById('watch-player-div') != null) {
        
done true;
        function 
playvid() {   
            
container.removeChild(player);
            
player document.createElement('div');     
            
player.setAttribute('id''watch-player-div');
            
            
container.insertBefore(playerinject);  
            
container.removeChild(inject);
            
            
writeMoviePlayer("watch-player-div");
        }
        
        var 
player document.getElementById('watch-player-div');    
        var 
noplayer document.getElementById('watch-noplayer-div');    
        var 
inject document.createElement('div');     
        var 
container document.getElementById('watch-this-vid'); 

        
inject.setAttribute('id''inject');
        
inject.setAttribute('style''cursor:pointer;width: 480px;height:395px;border:1px solid #00f;text-align:center;font: 700 32px/395px Verdana');
        var 
text document.createTextNode('Play >>');  
        
inject.appendChild(text);    
        
container.insertBefore(injectplayer);  
        
player.setAttribute('style','display: none;');            
        
        
inject.addEventListener('click'playvidfalse);
    
    }
}, 
false); 

Screenshot

3. YouTube Video-Download
Inspiriert von diesem Script. Blendet bei jedem YouTube-Video einen direkten Downloadlink ein (siehe Screenshot oben)

PHP-Code:
// ==UserScript==
// @name           YouTube Video-Download
// @description    Blendet bei jedem YouTube-Video einen direkten Downloadlink ein
// @include       http://*youtube.com/watch*
// ==/UserScript==

addEventListener(window.opera?'DOMContentLoaded':'load',function(){

    if (
top == self) {
        var 
loc=window.location.href;

        function 
in2html(txt) {
          if (!
txt) return '';
          var 
txthtml txt.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
          return(
txthtml);
        }
       
        var 
host=window.location.hostname;   
        var 
source;
        var 
fileURL='';
        var 
fileLabel='';
        var 
scriptmedia=new Array();

        function 
insertnotice() {
            
document.getElementsByTagName('html')[0].setAttribute('style','margin-top:22px;');

            var 
gmnotice document.createElement('div');
            
gmnotice.setAttribute('id','gmnotice');
            
gmnotice.setAttribute('style''position:fixed;top:0;right:0;width:100%;height:21px;padding:0 3px;background-color:#FFFA2F;border-bottom:1px solid #8C8C8C');

            var 
document.createElement('p');
            
p.setAttribute('style','margin:0;padding:3px;font-family:arial,helvetica,sans-serif;color:#666666;font-size:12px;text-align:center;');
            
p.setAttribute('id','gmnotice-p');
            
            var 
document.createElement('a');
            
a.setAttribute('style','padding: 0 20px;');
            
a.setAttribute('href'fileURL);                      

            var 
text document.createTextNode(fileLabel);             

            
a.appendChild(text);
            
p.appendChild(a);
                          
            
document.getElementsByTagName('body')[0].appendChild(gmnotice);
            
gmnotice.appendChild(p);        
        }

        function 
extracturls() {
            
scriptmedia=document.getElementsByTagName('script');
            for(
i=0;i<scriptmedia.length;++i) {       
                
source=scriptmedia[i].text.match(/video_id=S+&.+&t=.+&/i);
                if (
source != null) {      
                    
source scriptmedia[i].text.match(/video_id=S+&.+&t=.+&/i);
                    
source in2html(String(source).replace(/(video_id=S+)&.+(&t=.+)&/i,'http:\/\/www.youtube.com\/get_video?$1$2'));
                    
fileURL source;
                    
fileLabel document.getElementById('watch-vid-title').childNodes[1].innerHTML '.flv';;
                    
insertnotice();
                    break;
                }
            }
        };
        
extracturls();
    }
}, 
false); 

4. Gulli Nächste-Seite-Prefetch
Das hier ist mehr oder weniger Spielerei. Läd die nächste Seite eines Threads in ein iframe ..

PHP-Code:
// ==UserScript==
// @name           Gulli Thread-Prefetch
// @description   Prefetch der nächsten Thread-Seite
// @include     http://board.gulli.com/thread/*
// ==/UserScript==

//opera.postError(top.frames.length);
if(top.frames.length 0) {     
    
window.opera.addEventListener("BeforeExternalScript",function(ejs){ejs.preventDefault();},false);
    
window.opera.addEventListener("BeforeScript",function(ejs){ejs.preventDefault();},false);
    
window.opera.addEventListener("BeforeEventListener",function(ejs){top.prefetching.setAttribute('style''display: none;');ejs.preventDefault();},false);
    
window.opera.addEventListener("BeforeEventListener.load",function(ejs){ejs.preventDefault();},false);        
} else {
    
document.addEventListener('load', function () {      
        
// Normale Seite                  
        
var html document.getElementsByTagName("body");
        
html html[0];
        
        var 
prefetchdiv;
        var 
writeiframe = function(url) {            
            if( !
prefetchdiv ){
                
//in case the script doesn't reach here, don't append the element to the document tree
                
prefetchdiv=document.createElement("div");
                
prefetchdiv.setAttribute("id","prefetching")
                
prefetchdiv.setAttribute("style","position:fixed;top:0;left:0;width:200px;height:35px;background:#f00;color:#000;line-height:35px;text-align:center;font-weight:bold;");
                
prefetchdiv.innerHTML 'Prefetching ..';
                
html.appendChild(prefetchdiv);
            }
            var 
ifr document.createElement("iframe");
            
ifr.setAttribute("src"url);
            
ifr.setAttribute("style","display:none;");
            
prefetchdiv.appendChild(ifr);
        }
        
        
// Suche nach Seite zum prefetchen
        
var divs document.getElementsByTagName('div');
        var 
pages 1;
        var 
cur_page 1;
        var 
cnt 0;
        for (var 
0divs.lengthi++)    {    
            if (
divs[i].className == 'pagenav') {            
                var 
text divs[i].childNodes[1].childNodes[0].childNodes[0].childNodes[0].innerHTML;
                var 
pattern = /Seite (d+) von (d+)/;
                
pattern.exec(text);
                
cur_page parseInt(RegExp.$1);
                
pages parseInt(RegExp.$2);            
                break;
            }
            if (
cnt++ > 23) break;
        }

        if (
cur_page pages) {
            
// Es gibt eine nächste Seite
            
var url window.location.href.replace(/d+/$/, "") + (++cur_page) + '/';      
            
writeiframe(url);                               
        }
    }, 
false);

Alt 15. 05. 2008, 22:32 sTu´- is offline Mit Zitat antworten #1
Themen-Optionen Antwort


Themen-Optionen

Gehe zu



Alle Zeitangaben in UTC +1. Es ist jetzt 11:20 Uhr.
Angetrieben von vBulletin
Copyright ©2000 - 2006, Jelsoft Enterprises Ltd.
paranoia.gullisys.net

Anmelden

Benutzername
Kennwort
© Copyright 2008 gulli.com home | regeln | sitemap | kontakt | impressum | partner | downloads | disclaimer |
Message Boards and Forums Directory