|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Удавалось кому нибудь подружить Custom Search Engine от гугла с сайтом? |
|
|
[решено] Удавалось кому нибудь подружить Custom Search Engine от гугла с сайтом?
|
Пользователь Сообщения: 126 |
Пытаюсь подпружить Custom Search Engine от гугла с сайтом. Зарегился на гугле, настроил поисковик, получил 2 кода, один для вызова поискового запроса с кнопочкой сеарчь, а другой с выводом результата. Оба этих кода поставил на одной страничке. Если забивать в форму английское слово, то поиск срабатывает и выдает результаты, а вот если его по русски спросить, то ничего не выходит. Если разнести эти 2 кода на разные странички, то и с русским языком проблем не возникает, но охота сделать на одной. Еще нашел решение этой проблемы - выставить кодировку на странице в utf-8, но опять-же хочется иметь страничку с windows-1251.
Есть идеи? поисковик от гугла http://www.google.com/coop/cse/ страничка, на которой у меня возникли проблемы: http://tools-of-death.ru/2.html |
|
------- Отправлено: 20:32, 16-09-2007 |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать А сам код?
попробуй переводить из одной кодировки в другую строку которую передал через search до выполнения скрипта iconv -- Преобразовывает символы строки в другую кодировку string iconv ( string in_charset, string out_charset, string str ) Производит преобразование кодировки символов строки str из начальной кодировки in_charset в конечную out_charset. Возвращает строку в новой кодировке, или FALSE в случае ошибки. Если добавить //TRANSLIT к параметру out_charset будет включена транслитеризация. Это означает, что вслучае, когда символа нет в конечной кодировке, он заменяется одним или несколькими аналогами. Если добавить //IGNORE, то символы, которых нет в конечной кодировке, будут опущены. Иначе, будет возвращена строка str, обрезанная до первого недопустимого символа php.ru |
------- Отправлено: 22:34, 16-09-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 126
|
Профиль | Сайт | Отправить PM | Цитировать Там все с помощью яваскрипта происходит.
Вот код вызова формы поиска: <!-- Google CSE Search Box Begins --> <form id="searchbox_000809898124376604728:dywleb5svrq" action="http://tools-of-death.ru/2.html"> <input type="hidden" name="cx" value="000809898124376604728:dywleb5svrq" /> <input name="q" type="text" size="40" /> <input type="submit" name="sa" value="Search" /> <input type="hidden" name="cof" value="FORID:11" /> </form> <!-- Google CSE Search Box Ends --> <!-- Google Search Result Snippet Begins --> <div id="results_000809898124376604728:dywleb5svrq"></div> <script type="text/javascript"> var googleSearchIframeName = "results_000809898124376604728:dywleb5svrq"; var googleSearchFormName = "searchbox_000809898124376604728:dywleb5svrq"; var googleSearchFrameborder = 0; var googleSearchFrameWidth = 600; var googleSearchFrameHeight = "300px"; var googleSearchDomain = "www.google.com"; var googleSearchPath = "/cse"; </script> <script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script> <!-- Google Search Result Snippet Ends --> ![]() (function(){var f=null,a=window,j="sitesearch",s=a.googleSearchResizeIframe||a.googleSearchPath&&a.googleSearchPath=="/cse"&&typeof a.googleSearchResizeIframe=="undefined",p,o,k;function t(c,b,l,m){var d={},g=c.split(l);for(var e=0;e<g.length;e++){var h=g[e],n=h.indexOf(b);if(n>0){var i=h.substring(0,n);if(m){i=i.toUpperCase()}else{i=i.toLowerCase()}var w=h.substring(n+1,h.length);d[i]=w}}return d}function x(){var c=document.location.search;if(c.length<1){return""}c=c.substring(1,c.length);var b= t(c,"=","&",false);if(a.googleSearchQueryString!="q"&&b[a.googleSearchQueryString]){b.q=b[a.googleSearchQueryString];delete b[a.googleSearchQueryString]}if(b.cof){var l=t(decodeURIComponent(b.cof),":",";",true),m=l.FORID;if(m){p=parseInt(m,10)}}var d=document.getElementById(a.googleSearchFormName);if(d){if(d.q&&b.q&&(!b.ie||b.ie.toLowerCase()=="utf-8")){d.q.value=decodeURIComponent(b.q.replace(/\+/g," "))}if(d[j]){for(var g=0;g<d[j].length;g++){if(b[j]==f&&d[j][g].value==""){d[j][g].checked=true}else if(d[j][g].value== b[j]){d[j][g].checked=true}else{d[j][g].checked=false}}}}var e="";for(var h in b){e+="&"+h+"="+b[h]}return e.substring(1,e.length)}function q(c,b){if(b){return"&"+c+"="+encodeURIComponent(b)}else{return""}}function r(c,b){if(c){return Math.max(c,b)}else{return b}}function u(){var c="http://";if(a.googleSearchDomain){c+=a.googleSearchDomain}else{c+="www.google.com"}if(a.googleSearchPath){c+=a.googleSearchPath}else{c+="/custom"}c+="?";if(a.googleSearchQueryString){a.googleSearchQueryString=a.googleSearchQueryString.toLowerCase()}c+= x();c+=q("ad","w"+o);c+=q("num",k);c+=q("adtest",a.googleAdtest);if(s){var b=a.location.href,l=b.indexOf("#");if(l!=-1){b=b.substring(0,l)}c+=q("rurl",b)}return c}function v(){o=a.googleSearchNumAds;if(!o){o=9}k=a.googleNumSearchResults;if(k){k=Math.min(k,20)}else{k=10}var c={};c[9]=795;c[10]=795;c[11]=500;var b={};b[9]=300+90*k;b[10]=300+50*Math.min(o,4)+90*k;b[11]=300+50*o+90*k;var l=u();if(!a.googleSearchFrameborder){a.googleSearchFrameborder="0"}var m=document.getElementById(a.googleSearchIframeName); if(m&&c[p]){var d=r(a.googleSearchFrameWidth,c[p]),g=r(a.googleSearchFrameHeight,b[p]),e=document.createElement("iframe"),h={name:"googleSearchFrame",src:l,frameBorder:a.googleSearchFrameborder,width:d,height:g,marginWidth:"0",marginHeight:"0",hspace:"0",vspace:"0",allowTransparency:"true",scrolling:"no"};for(var n in h){e.setAttribute(n,h[n])}m.appendChild(e);if(e.attachEvent){e.attachEvent("onload",function(i){window.scrollTo(0,0)})}else{e.addEventListener("load",function(){window.scrollTo(0,0)}, false)}if(s){a.setInterval(function(){if(a.location.hash&&a.location.hash!="#"){var i=a.location.hash.substring(1)+"px";if(e.height!=i&&i!="0px"){e.height=i}}},10)}}a.googleSearchIframeName=f;a.googleSearchFormName=f;a.googleSearchResizeIframe=f;a.googleSearchQueryString=f;a.googleSearchDomain=f;a.googleSearchPath=f;a.googleSearchFrameborder=f;a.googleSearchFrameWidth=f;a.googleSearchFrameHeight=f;a.googleSearchNumAds=f;a.googleNumSearchResults=f;a.googleAdtest=f}v()})(); |
------- Отправлено: 23:06, 16-09-2007 | #3 |
Пользователь Сообщения: 126
|
Профиль | Сайт | Отправить PM | Цитировать Нашел одну зацепку в явоскрипте. Теперь возник вопрос, как с помощью яваскрипта преобразовать русские символы переданные с помощью метода get и превращенные в %EF%F0%EE%E2%E5%F0%EA%E0 преобразовать в русские символы в кодировке win-1251?
|
------- Отправлено: 00:49, 17-09-2007 | #4 |
Новый участник Сообщения: 24
|
Профиль | Отправить PM | Цитировать %EF%F0%EE%E2%E5%F0%EA%E0 это и есть утф8.. я тебе написал функцию (пхп) которая переводит из одной кодирвки в другую.. на яве я такой не знаю %)
Только вроде она не переводит сразу в кодировку WINDOWS-1251.. сначала надо в исо а потом в кирилицу %) ЗЫ: а мешанину мог бы и разобрать....... тебе же лучше потом будет ( function() { var f=null,a=window,j="sitesearch",s=a.googleSearchResizeIframe||a.googleSearchPath&&a.googleSearchPath=="/cse"&&typeof a.googleSearchResizeIframe=="undefined",p,o,k; function t(c,b,l,m) { var d={},g=c.split(l); for(var e=0;e<g.length;e++) { var h=g[e],n=h.indexOf(b); if(n>0) { var i=h.substring(0,n); if(m) { i=i.toUpperCase() } else { i=i.toLowerCase() } var w=h.substring(n+1,h.length); d[i]=w } } return d } function x(){ var c=document.location.search; if(c.length<1) { return"" } c=c.substring(1,c.length); var b=t(c,"=","&",false); if(a.googleSearchQueryString!="q"&&b[a.googleSearchQueryString]) { b.q=b[a.googleSearchQueryString]; delete b[a.googleSearchQueryString] } if(b.cof) { var l=t(decodeURIComponent(b.cof),":",";",true),m=l.FORID; if(m) { p=parseInt(m,10) } } var d=document.getElementById(a.googleSearchFormName); if(d) { if(d.q&&b.q&&(!b.ie||b.ie.toLowerCase()=="utf-8")) { d.q.value=decodeURIComponent(b.q.replace(/\+/g," ")) } if(d[j]) { for(var g=0;g<d[j].length;g++) { if(b[j]==f&&d[j][g].value=="") { d[j][g].checked=true } else if(d[j][g].value==b[j]) { d[j][g].checked=true }else { d[j][g].checked=false } } } } var e=""; for(var h in b) { e+="&"+h+"="+b[h] } return e.substring(1,e.length) } function q(c,b) { if(b) { return"&"+c+"="+encodeURIComponent(b) } else { return"" } } function r(c,b) { if(c) { return Math.max(c,b) }else { return b } } function u() { var c="http://"; if(a.googleSearchDomain) { c+=a.googleSearchDomain } else { c+="www.google.com" } if(a.googleSearchPath) { c+=a.googleSearchPath } else { c+="/custom"}c+="?"; if(a.googleSearchQueryString) { a.googleSearchQueryString=a.googleSearchQueryString.toLowerCase() } c+=x(); c+=q("ad","w"+o); c+=q("num",k); c+=q("adtest",a.googleAdtest); if(s) { var b=a.location.href,l=b.indexOf("#"); if(l!=-1) { b=b.substring(0,l) } c+=q("rurl",b) } return c } function v() { o=a.googleSearchNumAds; if(!o) { o=9 } k=a.googleNumSearchResults; if(k) { k=Math.min(k,20) } else { k=10 } var c={}; c[9]=795; c[10]=795; c[11]=500; var b={}; b[9]=300+90*k; b[10]=300+50*Math.min(o,4)+90*k; b[11]=300+50*o+90*k; var l=u(); if(!a.googleSearchFrameborder) { a.googleSearchFrameborder="0" } var m=document.getElementById(a.googleSearchIframeName); if(m&&c[p]) { var d=r(a.googleSearchFrameWidth,c[p]), g=r(a.googleSearchFrameHeight, b[p]), e=document.createElement("iframe"), h={name:"googleSearchFrame",src:l,frameBorder:a.googleSearchFrameborder,width:d,height:g,marginWidth:"0",marginHeight:"0",hspace:"0",vspace:"0",allowTransparency:"true",scrolling:"no"}; for(var n in h) { e.setAttribute(n,h[n]) } m.appendChild(e); if(e.attachEvent) { e.attachEvent("onload",function(i) { window.scrollTo(0,0)}) } else { e.addEventListener("load",function(){window.scrollTo(0,0)},false) } if(s) { a.setInterval(function() { if(a.location.hash&&a.location.hash!="#") { var i=a.location.hash.substring(1)+"px"; if(e.height!=i&&i!="0px") { e.height=i } } },10) } } a.googleSearchIframeName=f; a.googleSearchFormName=f; a.googleSearchResizeIframe=f; a.googleSearchQueryString=f; a.googleSearchDomain=f; a.googleSearchPath=f; a.googleSearchFrameborder=f; a.googleSearchFrameWidth=f; a.googleSearchFrameHeight=f; a.googleSearchNumAds=f; a.googleNumSearchResults=f; a.googleAdtest=f } v() } )(); |
|
------- Последний раз редактировалось Hitsi, 17-09-2007 в 03:41. Отправлено: 02:31, 17-09-2007 | #5 |
Пользователь Сообщения: 126
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо за приведение мешанины в нормальный вид. Сам я ее кусками только в нужных местах к нормальному виду привел. Вручную долго ее приводить, а из автоматики ничего под рукой нету
![]() В пхп делать не хочу, так как все на джаве сделано, вот и хочу гугловскую джаву переделать под свои нужды ![]() Класс перекодирования гляну, а на яве случаем ничего нету уже предусмотренного для перекодировки из одной таблицы в другую, ведь наверное не я один этим заморачиваюсь? |
------- Отправлено: 18:03, 17-09-2007 | #6 |
![]() Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:50, 10-10-2007 | #7 |
Пользователь Сообщения: 126
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 21:19, 10-10-2007 | #8 |
![]() Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Да, так должно работать. К сожаления, пока не наберу 3 постов, не могу дать ссылки на документацию.
|
Отправлено: 07:05, 11-10-2007 | #9 |
Пользователь Сообщения: 126
|
Профиль | Сайт | Отправить PM | Цитировать Так напиши еще чего-нить интересного и будет 3 пост
![]() Сам додумался на прописывание строчки с кодировкой или подсказал кто? |
------- Отправлено: 00:16, 12-10-2007 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Утилиты - [addon] Everything Search Engine - поиск файлов | mbgroot | Наборы обновлений для Windows XP/2003/Windows 7 | 40 | 23-01-2021 20:53 | |
Помогите доделать диск. Обьясните пошагово, если кому-нибудь не трудно | Alex Fly | Автоматическая установка Windows 2000/XP/2003 | 4 | 26-02-2009 01:19 | |
[решено] Верстка. Форма "Google Custom Search" "рвет" дизайн. | Anonymous234 | Вебмастеру | 4 | 26-07-2007 14:27 | |
LindowsOS 3.0spx кому-нибудь знакома? | Alex Sid | Хочу все знать | 2 | 05-08-2003 20:39 |
|