2011-09-26 4 views
1

다른 페이지 내의 iframe에 검색 결과를로드하는 옵션을 사용하는 Google 맞춤 검색 구현을 진행 중입니다. iframe이의 소스로이 URL을 사용하여Google 맞춤 검색 스니핑 및 모바일 결과 망치

(샘플 쿼리 포함) :

http://www.google.com/cse?cx=013856813593859657536:ss10an3on4k&cof=FORID:11&as_q=test

내가 데스크톱 브라우저에 URL을로드하는 경우, 사용자 정의 검색 결과가 반환됩니다. 내 사용자 에이전트가 모바일 브라우저 인 경우 (현재 Safari iOS 4.3 및 Android에서이 문제가 발생 함) Javascript 검색 상자가있는 빈 페이지가 표시됩니다. 이로 인해 사용자가 검색어를 두 번 입력해야합니다. 여기에 반환 된 페이지의 스크린 샷은 다음과 같습니다

http://csuh.tv/0s032D1S3S0F3X161i16

구글은 사용자 에이전트이 점에서 (야유)를 스니핑 및 모바일 결과를 borking 것 같다. 나는 (1) 자신의 문서에서 찾지 못한 몇 가지 맞춤 검색 API 옵션을 사용하여이 문제를 해결하거나 (2) 모바일 결과를 스니핑하거나 망쳐 버리지 않도록해야합니다.


UPDATE : 나는 단순히 site: 용어와 일반 Google 검색 (즉 http://google.com/search)에 제출 검색 상자 모바일 클라이언트를 제공함으로써이 문제를 해결했다. 아래의 솔루션도 잘 작동합니다.

답변

1

검색 창에 입력하고 Enter 키를 누르면 다른 URL이 생성됩니다. 당신은 아마 아래의 URL로 iframe을의 SRC를 변경할 수 있고 작동한다 :

http://www.google.com/cse?cx=013856813593859657536:ss10an3on4k&cof=FORID:11&as_q=test#gsc.tab=0&gsc.q=test

을 최후의 수단으로, 그리고 구글의 약관에 따라 가정하고, 당신의 페이지에 iframe이 점을 가질 수있다 귀하의 서버는 Google에서 결과를 가져 오기 위해 프록시 역할을하며 결과 HTML을 출력합니다. 그렇게하면 사용자 에이전트를 완벽하게 제어 할 수 있습니다.

www.mywebsite.com/mysearchproxy.php?search=test 
+0

이것은 지금까지는 좋은 해결책으로 보입니다. 모바일 버전에는 여전히 추가 검색 양식이 표시되지만 적어도 두 번 쿼리를 입력 할 필요는 없습니다. – Karew