• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ein Link, mehrere Ziele (eins davon fix, der Rest random)?

Hoktar

Neues Mitglied
das hier ist mein erster post, ich hoffe nur ich mach alles richtig :oops:

also ich bin dabei ne kleine website zu machen (nichts professionelles) und jetzt stehe ich vor einem problem und zwar, dass ich von HTML, das auch nur ein bisschen über den standard, keine ahnung hab; von Javascrip bzw. PHP (jenachdem was man dafür braucht) will ich garnicht reden

jetzt zum Problem:

ich will das ein Link dasteht und beim Klick sich was in tabs öffnet, soweit bin ich mal gekommen...

HTML:
<a href="" onclick="window.open('URL von Seite 1','tab1');
window.open('URL von Seite 2','tab2');
window.open('URL von Seite 3','tab3')
usw.
">Gewünschter Text</a>

das funktioniert recht gut,
[bis auf das, dass es besser wäre, wenn sich ein link direkt im gleichen fenster öffnet und der rest als neue tabs (zurzeit ist alles als neuer tap und die seite mit dem "Gewünschter Text" bleibt unverändert)]

dann wollte ich noch, dass sich ein bestimmter link öffnet und die anderen random sind

für die random-links hab ich eine (meiner meinung nach) gute weil einfache seite gefunden
Zufallslink-Generator - Homepage-Total.de - Webseiten erstellen, optimieren und aufpeppen

das spuckts mir auf zwei arten aus:

einmal so als JavaScript-Quelltext:
HTML:
<script type="text/javascript"> Name = new Array(); Url = new Array(); Name[0] = "Random 1"; Url[0] = "Random 2"; // Ab hier erweitern!  X = Math.round(Math.random()*(Name.length-1)); document.writeln('<a href="' + Url[X] + '" target="_blank">' + Name[X] + '</a>'); </script>

das funktioniert alleine auch recht gut

und dann als PHP-Quelltext

PHP:
<?php $Name[1] = "Random 1"; $Url[1] = "Random 2"; // Ab hier erweitern!   $X = mt_rand(1,count($Name));  echo '<a href="' . $Url[$X] . '" target="_blank">' . $Name[$X] . '</a>'; ?>

jetzt ist mein Problem aber, das ich gerne hätte, dass sich ein bestimmter link öffnet (möglichst im gleichen tab) und ein oder zwei randoms dazukommen (in neuen tabs); dass ich aber keine ahnung wie ich das machen kann

hoffe ich hab alles richtig gemacht, ihr wisst was ich meine und wisst auch wie man das machen kann

danke im vorraus
 
Hallo hier,

also link im selber fenster müsste so sein.
location.href = 'URL Seite';
Das ander möchte ich nicht deswegen sage ich auch nichts dazu.

ansonst hast alles richtig gemacht

Denk dran auch "kleine website" muss rechtlich stimmen sonst wird das teuer.

Cheffchen
 
Weil ich heute nichts zu tun hatte. :P

Mangels in_array() Funktion ist es in JavaScript nicht so einfach, nicht-identische Zufallswerte in einem Array zu speichern. Da es hier allerdings lediglich um zwei zu öffnende URLs ging, habe ich die Methode valueOf() verwendet.

HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Foobar</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
    <button type="button" id="button">Klick mich</button>
    
    <script type="text/javascript">

        function openWindows() {
            var url = ["http://google.de", "http://disney.com", "http://gizmodo.com", "http://apple.de", "http://microsoft.de"];
            var referrer = [];

            while(referrer.length < 2) {
                var targetNr = Math.floor((Math.random()*url.length));
                if( referrer.valueOf() != targetNr) {
                    referrer.push(targetNr);
                };
            };
            
            for (i = 0; i < referrer.length; i++) {
                var target = (referrer[i]);
                window.open(url[target]);
            };
        };
        
        $(document).ready(function() {
            $("#button").click(function() {
                openWindows();        
            });
        });
    </script>
    
</body>
</html>
 
Zuletzt bearbeitet:
das is nicht schlecht, aber nicht das was ich gesucht habe (werds trozdem verwenden können, also vielen dank)

1)is es auch möglich das nicht als button sondern als "normalen" link zu haben?
2)perfekt wäre es, wenn sich im aktuellen tab ein bestimmter neuer link öffnet und sich als zweiter tab einer der zufallslinks öffnet
 
Zu 1: Sicher geht das. Der Funktionsaufruf bezieht sich auf die ID. Welchem HTML-Element diese zugeordnet ist, spielt keine Rolle. Du könntest ebenso schreiben:

HTML:
<a href="#" id="button">Klick mich</a>

Zu 2: In JavaScript gibt es für das window Objekt die Methoden location und open. Die erste leitet dich weiter und die zweite öffnet ein neues Fenster. Wenn du den Funktionsaufruf so erweiterst:

HTML:
$(document).ready(function() {
            $("#button").click(function() {
                openWindows();
                window.location = "http://google.de";        
            });
        });

Dann hast du die Weiterleitung im selben Fenster zzgl. zwei neuer mit random URLs aus dem Array. Falls sich nur eines öffnen soll, könnte man die ganze Funktion vereinfachen, oder du änderst einfach die while Schleife in:

HTML:
while(referrer.length < 1)

Verwende aber nicht nur den Code per copy&paste, sondern versuche mal nachzuvollziehen, was da eigentlich passiert. Sonst ist der Lerneffekt null ;)
 
alles funktioniert perfekt, es gibt nurnoch ein problem...

wenn ichs öfters als einmal auf einer seite verwend versagts ein bisschen und ich weiß nicht wieso, bzw. wie ichs richten kann :(
 
Hmm, inwiefern denn?

Ich habe es eben mal so ausprobiert, wie in meinem zweiten Beitrag geschildert. Dabei werde ich immer zu Google weitergeleitet und es wird gleichzeitig ein weiterer Tab mit einer zufälligen Adresse aus dem Array url geladen.
 
sry hab den fehler (mit n bisschen "netter" hilfe aus nem anderen forum) schon gefunden

musste verschiedene IDs verwenden

ich muss nur sagen, das man hier um einiges freundlicher ist als in anderen foren
 
Zurück
Oben