Übergeben Sie die Variable an die benutzerdefinierte Suchmaschine von Google
-
21-09-2019 - |
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
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