Добавление заполнителя в текстовое поле в системе пользовательского поиска Google на моем веб-сайте html

Я добавил систему пользовательского поиска Google, используя следующий код.

(function() {
    var cx = '005899633628958982661:wekn1lpckzg';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
                '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
})();

Теперь у меня есть рабочее окно поиска для моего сайта, единственная проблема заключается в том, что я не могу использовать заполнитель для текстового поля поиска.

Я также пробовал код

$('input.gsc-input').attr('placeholder', 'custom text here');

Но это не работает.


person atul    schedule 01.02.2016    source источник
comment
Это вход правильный? Я бы тоже использовал цитаты "   -  person Sauced Apples    schedule 01.02.2016
comment
вы вызываете эту строку с помощью document.ready? Я не вижу этого в вашем коде выше   -  person progrAmmar    schedule 01.02.2016
comment
да, это uder document.ready.. Я также пытался поместить код в конец страницы, но это тоже не помогает.   -  person atul    schedule 01.02.2016
comment
stackoverflow.com/questions/10688387/   -  person Fernando Molina    schedule 01.02.2016
comment
я только что попробовал приведенную выше ссылку, мне нужно внести какие-либо изменения в код или я должен вставить его как есть? потому что вставка как есть тоже не помогает.   -  person atul    schedule 01.02.2016


Ответы (2)


Я использовал следующий код, это сработало для меня!

(function() {   
    var cx = '!!!!!!!!!!!!!!!!!!!';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = 'https://cse.google.com/cse.js?cx='+ cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
})();

window.onload = function(){
document.getElementById('gsc-i-id1').placeholder = 'SEARCH';
};

person suketup    schedule 04.11.2016
comment
Я предполагаю, что document.getElementsByNames('search')[0].placeholder намного лучше ... потому что идентификатор окна поиска является случайным. - person Anu Bhuvanendran Nair; 04.01.2017
comment
Если вы используете GCS, идентификатор можно определить с помощью элемента проверки. Потому что на сложных страницах может быть еще один элемент с тем же именем, что и «поиск»! @AnuBhuvanendranNair document.getElementsByNames не всегда эффективен и надежен. - person suketup; 11.01.2017
comment
Пользовательский поиск Google генерирует идентификатор «gsc-i-id1», а иногда и «gsc-i-id2». Насколько я понял, значение идентификатора является случайным. Тогда насколько надежен document.getElementById?? - person Anu Bhuvanendran Nair; 11.01.2017
comment
Что ж, он отлично работает на моем живом веб-сайте в течение длительного времени с использованием идентификатора, поэтому, как только он сгенерирует идентификатор для конкретной страницы, он не изменит его в конечном итоге, насколько я знаю. Вам просто нужно найти идентификатор с помощью элемента проверки, и вы должны поместить его только один раз в код. Так что для меня id ПРОСТО и НАДЕЖНО!! - person suketup; 18.01.2017
comment
id идентичен на всех сайтах, в моем случае точный id есть на 3 установках. Спасибо, это решение сработало хорошо. - person Artem Ankudovich; 15.05.2017

Этот работает для меня:

window.onload = demo;

function demo() {
    document.getElementById("gsc-i-id1").setAttribute("placeholder", "SEARCH")
}
person ArnoldasM    schedule 24.10.2016