Pregunta

Es posible pasar una búsqueda de la variable en el Motor de Búsqueda Personalizado de Google que he incorporado en mi sitio web?Puedo conseguir el motor de búsqueda de trabajo, pero no puedo pasar de un término a través de CORREOS (que provienen de un botón de búsqueda en otras páginas de la web)

He intentado hackear el código que he encontrado aquí: http://code.google.com/apis/ajax/playground/?exp=search#hello_world

Y esto es lo que tengo hasta ahora...($q es el término que estoy pasando es)

<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>   

Gracias

¿Fue útil?

Solución

Lo siento, sé que es una mierda de respuesta, pero en realidad hemos conseguido derecho aparte de referencia el mal nombre de la variable.Oh, también, como un aparte, espero que usted está haciendo algún tipo de desinfección en $q, en caso de que alguien ha escrito algo como esto a su forma:plazo");alert("aha!

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

debe ser:

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

También, gracias por la pregunta - yo estaba buscando como hacer esto por mí mismo!

Otros consejos

Esto es para cualquier ayuda con PHP tratando de lograr este mismo objetivo. El ejemplo anterior utiliza ...

customSearchControl.execute("$q");

para leer el parámetro que se pasa en. En un sitio de PHP que usaría ...

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

Usted podría utilizar $ _GET o $ _REQUEST si su parámetro no está en el puesto.

Por supuesto debe debe desinfectar la entrada en primer lugar. Algo como esto es bastante débil, pero es un comienzo ...

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

En caso de que alguien está buscando un poco más sencillo / solución simple. Todo lo que tiene que hacer es pasar a palabras clave de búsqueda en GET parámetro llamado q (de su formulario personalizado en la página donde su GCS es), GCS lo utilizará automáticamente frase de búsqueda.

Fuente: https://developers.google.com/custom- buscar / JSON-api / v1 / using_rest

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top