2013-01-08 4 views
0

내 웹 사이트에 Google 맞춤 검색 엔진이 설치되어 있습니다. 검색 결과를 수정하고 싶습니다. 나는 그것이 ToS에 해를 끼칠 수 있다는 것을 안다.맞춤 코드로 Google 맞춤 검색 결과 수정

그래서 먼저 모든 검색 결과에서 일부 문자열을 삭제하고 싶습니다. 여기에 내가 이전에 쓴 함수 : 이전이 스크립트는 일

<script type="text/javascript"> 
setInterval("pakeisti()",100) 
function pakeisti() 
  { 
    elem = document.getElementById("searchas"); 
    y = elem.getElementsByTagName("div"); 
    for (i=0; i< y.length; i++) 
    { 
      str = y[i].className; 
     if (str.search("gs-title") != 0) { 
     var newHTML = y[i].innerHtml; 
     newHTML = newHTML.replace('STRING - ',' k'); 
     newHTML = newHTML.replace('<a','<p'); 
     newHTML = newHTML.replace('</a>','</p>'); 
     y[i].innerHtml = newHTML; } 
    } 
  } 
</script> 

,하지만 지금은 나에게 오류 제공 : y[i].innerHtml이 정의되어 있기 때문에 Uncaught TypeError: Cannot call method 'replace' of undefined

답변

0

은 그 오류가 발생합니다. 당신이 당신의 if 성명에서 잘못 String.search()을 사용하고 있기 때문에 당신은 아마이 발생하는

if (str.search("gs-title") != 0 && y[i].innerHtml != null) { 

:

이에 if 문을 변경 문제를 방지합니다. 검색 문자열이 대상 문자열에 나타나지 않는 경우, .search()-1, 0이 아닌 반환합니다. (0의 응답은 문자열이 대상의 첫 번째 문자에 나타나는 것을 의미한다) 그래서 당신은 아마 의미 :

if (str.search("gs-title") != -1 ...