Frage

Ist es möglich, eine Suchvariable in die benutzerdefinierte Google -Suchmaschine zu übergeben, die ich auf meiner Website eingebettet habe? Ich kann die Suchmaschine zum Laufen bringen, aber ich kann sie nicht per Post übergeben (sie stammt aus einer Suchschaltfläche auf anderen Seiten der Website).

Ich habe versucht, den Code zu hacken, den ich hier gefunden habe: http://code.google.com/apis/ajax/playground/?exp=search#hello_world

Und das habe ich bisher ... ($ Q ist der Begriff, den ich an ihn übergehe)

<script type="text/javascript">
    google.load('search', '1', {language : 'en'});

    function OnLoad()
    {
        var customSearchControl = new google.search.CustomSearchControl('***my key****');
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        customSearchControl.draw('cse');
        searchControl.execute("$q");
    }
    google.setOnLoadCallback(OnLoad);
</script>   

Vielen Dank

War es hilfreich?

Lösung

Entschuldigung, ich weiß, dass es eine beschissene Antwort ist, aber Sie haben es tatsächlich richtig gemacht, abgesehen davon, den falschen variablen Namen zu verweisen. Abgesehen davon würde ich auch hoffen, dass Sie auch eine Verhütung von $ Q durchführen, falls jemand so etwas in Ihrem Formular gepostet hat: Begriff "); alarm (" Aha!

    customSearchControl.draw('cse');
    searchControl.execute("$q");

sollte sein:

    customSearchControl.draw('cse');
    customSearchControl.execute("$q");

Vielen Dank auch für die Frage - ich habe gesucht, wie man das selbst macht!

Andere Tipps

Dies soll jedem helfen, PHP zu verwenden, der versucht, dasselbe Ziel zu erreichen. Das obige Beispiel verwendet ...

customSearchControl.execute("$q");

Um den Parameter zu lesen, der eingelassen wird. Auf einer PHP -Site würden Sie verwenden ...

customSearchControl.execute("<?php echo $_POST['your_paramter_name_here'];?>");

Sie können $ _get oder $ _Request verwenden, wenn Ihr Parameter nicht im Beitrag liegt.

Natürlich sollten Sie zuerst die Eingabe sanieren. So etwas ist ziemlich schwach, aber es ist ein Anfang ...

customSearchControl.execute("<?php echo htmlentities( trim( $_POST['your_paramter_name_here'] ), ENT_QUOTES );?>");

Für den Fall, dass jemand nach etwas einfacher / einfacherer Lösung sucht. Alles was Sie tun müssen, ist, Suchschlüsselwörter in den Named -Parameter zu übergeben q (Von Ihrem benutzerdefinierten Formular in die Seite, auf der sich Ihr GCS befindet) verwendet GCS diesen Suchphrase automatisch.

Quelle: https://developers.google.com/custom-search/json-api/v1/using_rest

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top