본문 바로가기

Hobbies & Tour

위젯 개발중..

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

<?xml version="1.0" encoding="EUC-KR"?>
 <Module>
  <ModulePrefs title="Smart Mr.Tint." height="140" author="Mr.Tint">
   <Require feature="tabs" />
   <Require feature="minimessage"/>
  </ModulePrefs>
  <UserPref name="amount" display_name="결과수(1-20)" default_value="5"/>
  <Content type="html">
  <![CDATA[
   <div>
    <style type="text/css">
     .contents
     {
      font-size:11px;
     }
     .query_contents
     {
      visibility : visible;
      font-size: 10px;
     }
     /* 검색 결과 나타내주는 스타일 */
     .query_result
     {
     width : 160px;
     height : 150px;
     }
     /* 결과물 스타일 */
     .item
     {
     }
     /* 이전, 다음 페이지 스타일*/
     .goResult{
     }
    </style>

    <script type="text/javascript">
     // 사용자 데이터 불러오기
     var sets = new gadgets.Prefs();
     // 검색어
     var str_query;
     // 탭 초기화 (초기 값은 네이버)
     var tabs = new gadgets.TabSet(__MODULE_ID__, "Daum");
     // 미니메세지 초기화
     var msg = new _IG_MiniMessage(__MODULE_ID__);
     // 검색창 여닫기 시그널
     var queryBox = 1;
     // 탭 여닫기 시그널
     var showTabs = false;
     /*
      * 가젯 시동을 위한 모든 리소스를 세팅해주는 함수
      */
     function init() {
      tabs.addTab("Daum", {
       contentContainer :document.getElementById("daum")
      });
      tabs.addTab("Naver", {
       contentContainer :document.getElementById("naver")
      });
      tabs.addTab("Google", {
       contentContainer :document.getElementById("google")
      });
      tabs.addTab("Yahoo", {
       contentContainer :document.getElementById("yahoo")
      });
      setTabStyle();
     }
     /*
      * 생기는 탭들의 스타일을 설정한다.
      */
     function setTabStyle() {
      var table = tabs.getHeaderContainer();
      table.style.fontSize = "9px";
      tabs.displayTabs(false);
     }
     function openAndCloseTabs() {
      showTabs = !showTabs;
      if (queryBox == 1)

       tabs.displayTabs(showTabs);
     }
     function switchTabs() {
      tabs.swapTabs(0, 1);
     }
     /*
      * 검색하고자 하는 쿼리를 저장함
      */
     function setQuery(str) {
      str_query = str;
      document.getElementById('query_value').value = '';
      openAndCloseTabs();
      openAndCloseQueryBox();
      getResultXML(1);
     }

     /*
      * 검색 창을 열었다 닫았다 함.
      */
     function openAndCloseQueryBox() {
      if (queryBox == 1) {
       document.getElementById("query_box").style.visibility = 'hidden';
       queryBox = 0;
      } else {
       document.getElementById("query_box").style.visibility = 'visible';
       queryBox = 1;
      }
     }
     gadgets.util.registerOnLoadHandler(init);

     function getResultXML(pageno) {
      var params = {};
      params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.DOM;
      var apikey = '4ced8ca0aa52445be2adc06c24f01fa54e2c21d6';
      var url = "http://apis.daum.net/search/blog?apikey=" + apikey
        + "&output=xml&result=" + sets.getString('amount') + "&pageno="+ pageno +"&q=" + encodeURI(str_query);
      gadgets.io.makeRequest(url, response, params);
      return pageno;
     }

     function response(obj){
      xmlData = obj.data;
      var pageNo = xmlData.getElementsByTagName("pageno").item(0).firstChild.nodeValue;
      var totalCount = xmlData.getElementsByTagName("totalCount").item(0).firstChild.nodeValue;
      if(totalCount == 0){
       document.getElementById("daum").innerHTML += "<center>검색결과가 없습니다.</center>";
      }
      else {
       var html ="";
       var resultList = xmlData.getElementsByTagName("item");
        for(var i = 0 ; i < sets.getString('amount') ; i++){
         var items = resultList.item(i).childNodes;
         var title, desc, link;
         for (var j = 0 ; j < items.length ; j++) {
          var node = items.item(j);
          if(node.firstChild == null){
           break;
          }
          if (node.nodeName == "title") {
            title = node.firstChild.nodeValue;
            title = title.substr(0, 10);
          }
          if (node.nodeName == "description") {
            desc = node.firstChild.nodeValue;
          }
          if (node.nodeName == "link") {
            link = node.firstChild.nodeValue;
          }
         }
         html += "<a class='item' href='" + link+ "' target='_blank' title='" + desc + "'>" + title + '</a><br/>';
         link ="", desc = "", title = "";
        }
        html += '</div>';
        html += '<div class="goResult"><a href="javascript:void(0)" onclick="' + 'getResultXML(' + + '</div>';
        document.getElementById("daum").innerHTML += html;
        
       }
     } 

    </script>
    <div id="naver" class="contents"> </div>
    <div id="google" class="contents"> </div>
    <div id="daum" class="contents"> </div>
    <div id="yahoo" class="contents"> </div>
    <div id="query_box" class="query_contents">
     <table align=center>
      <tr>
       <td> <input id="query_value"type="text" size=5/> </td>
       <td> <input type="button" value="확인" onclick="setQuery(document.getElementById('query_value').value)"/> </td>
      </tr>
     </table>
    </div>
   ]]>
 </Content>
</Module>