• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Function durch externen URL Aufruf starten

mercurio

New member
Hallo liebe Forengemeinde,

An meiner Frage kann man vielleicht schon erkennen, dass ich nur im entferntesten etwas von JS verstehe. Sagen wir ich habe Fähigkeiten in HTML & CSS, aber bei JS hört's dann einfach auf. Deswegen hoffe ich hier bei den Profis ein bisschen Hilfe zu bekommen.

Auf einer Artikeldetailseite befindet sich ein Tab-Segment welches mit jquery realisiert wurde. Beim Seitenaufruf ist immer das erste Tab (class="current") geöffnet. Im dritten tab befinden sich zum einem die Kundenrezensionen, und darunter dann ein Formular zur Eingabe neuer Rezensionen. Auf der gleichen Seite befindet sich oberhalb des Tabsegements ein Link, der sofort zum Formular (am Ende des 3.ten Tabs) führt.

Ich würde jetzt gerne von Außen per URL genau auf diesen geöffneten 3.Tab, und dann direkt zum Formular verweisen. Einfaches anhänge eines Parameters an die URL, z.B. den hashtag der Formular ID klappt natürlich nicht, denn wenn die Seite geladen wird, wird ja zunächst immer der erste Tab geöffnet.

Meine Idee wäre nun, per JS irgendwie nach dem Seitenaufbau, die function aufzurufen, die wie oben beschrieben direkt zum Ort Geschehens führt. Der Code des Links in der Seite sieht so aus

Code:
<?php //Open the "Reviews" tab, when "X Review(s)" or "Be the first to review this product" links are clicked ?>
    <script type="text/javascript">
    //<![CDATA[
        jQuery(function($){$("#goto-reviews, #goto-reviews-form").click(function(){if($("#product-tabs").hasClass("accor")){$("#product-tabs .tabs-panels").data("tabs").click($(".tabs-panels .acctab").index($("#acctab-tabreviews")))}else{$("#product-tabs .tabs").data("tabs").click($("#tab-tabreviews").index())}})});
    //]]>
    </script>

Wäre es möglich diesen so zu erweitern, dass er ausgeführt wird, wenn die URL einen bestimmten Parameter übergibt, um dann direkt zu "reviews-form" zu führen?

Bin für jede Hilfe dankbar..

Thx
 
Hallo mikdoe,

danke schonmal für den Hinweis. Wie gesagt ich verstehe im Prinzip nix von JS, nur dass was ich aufgrund von HTML-Kenntnis weitgehenst interpretieren kann. Ich versuche mich mal an bruchstückhaften Codeschnipseln, mit der Bitte um Nachsicht, da vermutlich jeder Anspruch auf Korrektheit oder Vollständigkeit der Syntax fehlt:

$(document).ready(function(){ // das sollte der richtige Zeitpunkt sein, die Seite wurde geladen, oder?!

if(window.location.hash) //jetzt lese ich den Anker aus dem URI

->> hier fehlt mir die Bestimmung des konkreten Ankers

function (goto-reviewsform) // das wäre dann die eigentliche Ausführung der gewünschten Funktion analog zum obigen Codeschnipseln


Ist das von der Logik schon mal der Weg? (1. Zeitpunkt, 2. Bedingung, 3. Ausführung)
 
$(document).ready(function(){ // das sollte der richtige Zeitpunkt sein, die Seite wurde geladen, oder?!
Muss nicht, kann man. Hauptsache man macht den nachfolgenden Aufruf erst NACH der Definition der function.

if(window.location.hash) //jetzt lese ich den Anker aus dem URI
Jo, sieht gut aus. Vielleicht zur Sicherheit noch mit window.location.hash == 'gewünschter_hash' abfragen.

->> hier fehlt mir die Bestimmung des konkreten Ankers
Legst du ja selbst fest. Wichtig ist, dass die Besucher ihn bekannt gegeben bekommen, denn sie sollen ihn ja nutzen.

function (goto-reviewsform) // das wäre dann die eigentliche Ausführung der gewünschten Funktion analog zum obigen Codeschnipseln
Falsch. Syntax lautet einfach funktionsname(parameter);

Ist das von der Logik schon mal der Weg? (1. Zeitpunkt, 2. Bedingung, 3. Ausführung)
Ja, denke schon.
Muss dazu sagen, dass ich selbst mit soetwas nicht arbeiten würde, weil Suchmaschinen das nicht indizieren können. Besser ist soetwas mit URL Rewrite, also z.B. meinedomain.de/unterpunkt
Da fehlt mir aber leider auch die tiefere Erfahrung.
 
Zurück
Oben