|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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 | |
|