// ==UserScript==
// @name Dropdown Schnellleiset
// @namespace c1b1.de
// @include http://de27.die-staemme.de/*
// ==/UserScript==
// Version 1.1
/*
Changelog:
- Javascript code can be attached as a link (in theory)
*/
(
function ()
{
if( document . getElementsByTagName ( 'ul' ) [ 0 ] )
{
// quick bar element
var ul = document . getElementsByTagName ( 'ul' ) [ 0 ] ;
// create select element
var myElement = document . createElement ( 'select' ) ;
var select = ul . appendChild (myElement) ;
select . setAttribute ( 'id' , 'dropdo' , 0 ) ;
addEvent ( select , 'change' , function ( )
{
var value = this . document . getElementsByTagName ( 'option' ) [ this . selectedIndex ] . value ;
if ( value . substr ( 0 , 11 ) == 'javascript:' )
eval ( value . substr ( 11 ) ) ;
else
window . location . href = value ;
} );
// data
data = new Array ( ) ;
data [ 0 ] = new Array ( ) ;
data [ 0 ] [ 0 ] = 'Google' ;
data [ 0 ] [ 1 ] = 'http://google.de' ;
data [ 1 ] = new Array ( );
data [ 1 ] [ 0 ] = 'c1b1';
data [ 1 ] [ 1 ] = 'http://c1b1.de';
data [ 2 ] = new Array ( ) ;
data [ 2 ] [ 0 ] = 'DS' ;
data [ 2 ] [ 1 ] = 'http://die-staemme.de' ;
data [ 3 ] = new Array ( ) ;
data [ 3 ] [ 0 ] = 'Alert' ;
data [ 3 ] [ 1 ] = "javascript:alert('--> Hallo Welt <--');" ;
//dump2D ( data ) ;
// insert option elements
op = new Array () ;
for ( var i = 0 ; i < data . length ; i++ )
{
var myElement = document . createElement ( 'option' ) ;
op [ i ] = select . appendChild ( myElement ) ;
op [ i ] . setAttribute ( 'value' , data [ i ] [ 1 ] , 0 ) ;
op [ i ] . innerHTML = data [ i ] [ 0 ] ;
}
}
}
)()
// Flexible Javascript Events by John Resig (ejohn.org)
// http://ejohn.org/projects/flexible-javascript-events/
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}