# Countdown bis Download à la Rapidshare



## ICPUI (24. März 2006)

Hi all
Ich möchte gerne einen Countdown von 20 Sekunden einbauen, bis der User den Downloadlink sehen kann. Aber der User soll durch einen Blick in den Quelltext den Link zum Download nicht sehen!
Die gleiche Funktion gibts ja auch auf http://www.rapidshare.de.
Wie mache ich das am besten?
mfg
ICPUI


----------



## Divi (30. März 2006)

Wie wärs via XMLHTTPRequest ne Anfrage an n Script zu schicken, dass die die Adresse zurückliefert und dass sich nur von deinem Script aufrufen lässt und nicht direkt via Browserzeile...


----------



## vquicksilver (30. März 2006)

Wäre cool wenn  du das script fertig hast das du das hier postet  wäre auch dran interessiert


----------



## Security (30. März 2006)

Hier das hatte ich mal vervast, muste noch umändern, hab kein zeit das jetzt zu erklären usw. Bei fragen sag einfach bescheid.

```
<html>
<head>
<title>Bitte warten ...</title>
<meta http-equiv="Refresh" content="10; URL=downloads/file.rar">
<script language="javascript">
<!--
function countdown(target, error) {
 if (document.getElementById && document.getElementById(target) && document.getElementById(error)) {
  Obj = document.getElementById(target);
  obje = document.getElementById('one');
  if (Obj.firstChild.data > 0) {
   Obj.firstChild.data -= 1;
   setTimeout('countdown("'+target+'", "'+error+'")',999);
  }
  else {
   obje.firstChild.data = 'Falls sie nicht automatisch weitergeleitet werden, klicken sie hier.';
   }
  
 }
}
// -->
</script>
<style type="text/css">
body {
 background-color: #FAFAFA;
 color:#323232;
}
.cella {
 background-color: #FAFAFA;
       }
  a:link         { color:#1B6ECC; text-decoration: none }
  a:visited      { color:#1B6ECC; text-decoration: none }
  a:active       { color:#1B6ECC; text-decoration: none }
  a:hover        { color:#69B271; text-decoration: none }
.stdfont { font-family: Verdana, Helvetica; font-size: 10pt }
.smallfont { font-family: Verdana, Helvetica; font-size: 8pt }
</style>
</head>
<body onLoad="javascript: countdown('cnt', 'one')" bgcolor="#FAFAFA" text="#323232">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="500">
  <tr>
    <td align="center" valign="middle">
      <table width="100%" height="64" border="0" cellspacing="1" cellpadding="3" bgcolor="#DEDEDE">
        <tr class="cella">
          <td align="center"><div class="stdfont">
   <b><a href="http://6xsaeft.com/userpage.php?mode=showpage&userid=444&forid=444" target="_blank">Download powered by Security</a><br>Sie werden in <span id="cnt">11</span> automatisch zum Download weitergeleitet, bitte warten ...</b><br></div><a href="downloads/file.rar"><span id="one" class="smallfont">&nbsp;
            </span></a></td>
   </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>
```


----------



## vquicksilver (30. März 2006)

Dort kann man doch aber ja den Download link im quelltext sehen ?! oder irre ich mich?


----------



## Biergamasda (30. März 2006)

Hab euch mal ein kleines Beispiel gebastelt, ums schützen der Datei müsst ihr euch selber kümmern 



```
<head>
    <title>URL_getter</title>
    <script language="javascript">
        var http_request = false; //globale Request Variable
        var count = 5;

        function macheRequest(url)
        {
            if(count > -1)
                return false;

            http_request = false;

            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    http_request.overrideMimeType('text/xml');
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }

            if (!http_request) {
                alert('Kann Instanz nicht erzeugen');
                return false;
            }
            http_request.onreadystatechange = getCont;
            http_request.open('GET', url, true);
            http_request.send(null);
        }

        function getCont()
        {
            if (http_request.readyState == 4)
            {
                    if (http_request.status == 200)
                        alert(http_request.responseText);
                    else
                        alert('Problem beim Request');
            }

        }

        function countdown()
        {
            elem = document.getElementById("counter");
            if(elem.firstChild != "[object Text]")
            {
                text = document.createTextNode(count);
                elem.appendChild(text);
            }
            else
            {
                elem.firstChild.nodeValue = count;
            }
            count--;
            if(count >= 0)
                setTimeout("countdown()",1000);
            else
            {
                elem2 = document.getElementById("getURL");
                elem2.style.backgroundColor = "lightgreen";
                text=document.createTextNode("klick mich");
                elem2.appendChild(text);
            }
        }
    </script>
</head>
<body onload="countdown();">
<div style="height: 40px; width: 100px; margin: 200px auto auto; border: 1px solid blue;">
    <div id="counter" style="height: 20px; text-align: center;"></div>
    <div id="getURL" onclick="macheRequest('test.html')" style="text-align: center; width: 100%; height: 20px; background-color: red;"></div>
</div>
</body>
```

getestet eigentlich nur im Mozilla Firefox 1.5 

lg Masda

PS:
solltest die URL per PHP Script ausgeben wollen, machs einfach per echo 

//edit
ach ja, die URL sollte in test.html stehen und im selben Verzeichnis liegen, sofern gecopy't und gepastet wird


----------



## Security (1. August 2006)

vquicksilver hat gesagt.:
			
		

> Dort kann man doch aber ja den Download link im quelltext sehen ?! oder irre ich mich?


Jetzt mal erlich das ist doch  egal, in 10 Secunden hat den eh keiner Nachgeguckt und wer seine User länger warten lassen will, der hat eh was falsch gemacht.


----------

