HTML Link beim "Klick" mit 5 Sekunden Verzögerung aufrufen?
Hallo zusammen,
habe leider wenig Ahnung von HTML und Co., versuche mir immer über "google" selbst zu helfen, aber nun komm ich absolut nicht weiter. :(
Ich bin dabei mir ein einfaches "Widget" zu erstellen, was auch alles soweit funktioniert, nur klappt es nicht die Weiterleitung mit einer Verzögerung (BEIM KLICK / nicht automatisch) zu versehen.
So sieht meine Zeile aus:
<href="fb://" target="_blank"><img style="border:0;" src="Library/Images/Facebook.png" width="45" height="45"
Und zwar soll der Link -> fb:// erst nach 5 Sekunden starten, sobald man auf das Image geklickt hat.
Ich hab alles mögliche probiert, einziges Ergebnis war eine Weiterleitung die automatisch eingetroffen ist, ohne zu Klicken. Immerhin :D
Ich hoffe Ihr könnt mir weiterhelfen, vielleicht ist die Lösung Recht simpel, für jemanden der von der Materie mehr Ahnung hat. ;)
Bin für jede Hilfe dankbar!
4 Antworten
Ich habe das Gefühl, Stackoverflow ist dir zu "professionell", "Kompliziert". Ich habe jetzt mal ein kleines Script samt dem A Link geschrieben dass die URL aus dem HREF Attribut nach 5 Sekunden aufruft. Die Zeit(5 Sekunden) kannst du übrigens im neuen (von mir jetzt erstellten) Attribut Namens "data-delay" speichern. da kommt eine Zahl wie 5000 für 5 Sekunden (5 tausend Millisekunden) rein.
Das folgende Code-Schnipsel bindest du am besten ans Ende deines Body tags oder in den HEAD Tag ein, ok?
<script type="text/javascript">function linkAfterDelay(dies) { var url = dies.getAttribute("href"); var delay = dies.getAttribute("data-delay"); setTimeout(function() { location.href = url; }, delay); }</script>
Wenn das nicht funktioniert benutzt du den IE. Dann musst du
location.href
durch
window.location.href
oder
location
oder
window.location
oder
window.href
ersetzten. (Ich kenne mich mit dem IE nicht aus. Ist Softwareschrott)
Der "a" Tag sieht dann so aus:
<a href="http://github.com/MauriceConrad/MultiUI"; onclick="linkAfterDelay(this); return false;" data-delay="5000">Link</a>
(Als "href" habe ich jetzt mal als Platzhalter ein Javascript Framework von mir genommen(iOS Framework). Das musst du dann natürlich durch deine gewünschte URL ersetzten.)
Falls du Fragen hast, schreib in die Kommentare. Ich lese dir per E-Mail.
Wahnsinn, das funktioniert wunderbar! Zumindest am Computer...
...denn eigentlich war das was ich vor hatte als "Widget" für ein "offenes" iOS Gerät gedacht. Dort funktioniert es leider nicht, der Link wird nicht geöffnet.
Du sagst, es geht unter iOS nicht. Wie du vielleicht schon an dem github projekt geshen ahst, arbeite ich sehr viel mit iOS und kenne mi h daher bestens mit mobile Safari aus.
Solange du mobile Safari ab iOS 6 benutzt, dürfte es keine Probleme geben. Bei mir auf einem iPad 2 geht alles. Das einzige was ich dir noch anbieten kann ist, statt einem onlclick Event ein ontouchend zu nehmen.
Dann siehst dein a Tag wie folgt aus:
<a href="http://github.com/MauriceConrad/MultiUI"; ontouchend="linkAfterDelay(this); return false;" data-delay="5000">Link</a>
Wenn das auch nicht geht, könnte man einen großen Umweg fahren. Unsauber aber möglich. Wie gesagt. Es muss eigenl ich funktionieren. Bei mir geht es auch. Kannst du mir außerdem mal den Link wo du es hochgeladen hast schicken? Danke.:)
Also es geht nicht direkt um Safari, sondern um ein Klickbares Widget z.B. für Facebook direkt auf dem Springboard (Es gibt eine Tweak, nennt sich iWidgets für offene Geräte), basiert alles auf HTML, JavaScript etc.. Bisher war es so, das ich auf dem Springboard ein Bild habe und beim Klick darauf öffnet sich z.B. eine App. Alles kein Problem. Dem ganzen wollte ich einen "Bounce" Effekt verleihen, 5x hüpfen z.B., allerdings öffnet sich die App sofort, heißt, man sieht kaum was von dem Effekt, daher meine Frage mit dem Timeout. Nur funktioniert das nicht auf dem Springboard, die App öffnet nicht sobald ich deinen Code benutze.
Dazu wirst du wohl JavaScript verwenden müssen.
Damit kannst du das Klick-Ereignis abfangen und dann z. B. einen timeout setzen der nach 5 Sekunden das Link-Ziel aufruft.
Hab dir mal was ergoogelt:
Die automatische Weiterleitung via JavaScript nach Klick einbinden ;)