HỒN VIỆT !


Lập WEB: 21/10/2010

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Thống kê truy cập

    free counters
    Gốc > Chia sẻ kinh nghiệm > Web - Blog >

    CỖ MÁY TÌM KIẾM CỦA VIOLET.

     Dưới đây là code "Tìm kiếm" của Violet. Kết quả được hiển thị ngay bên dưới. Thầy Cô thay link trang riêng của mình vào chỗ link màu đỏ trong code dưới đây.
     
    <center>
    <form onsubmit="AdvanceSearch(); return false;" method="post"
    action="/"><input type="text" name="advance_search" id=
    "advance_search" style="width: 400px" onclick="if (this.value=="
    this.value=""> <input type="submit" name="commit" value=
    "Tìm kiếm" id="advancesearchSubmit" onclick=
    "AdvanceSearch(); return false;"><br>
    <input type="radio" name="asearchAll" id="asone" value="0" checked=
    "checked"> <label for="asone">Tìm trên trang của Bằng
    Vũ</label>~<a href="http://bangvu.violet.vn" target=
    "_blank"><img src=
    "http://d2.violet.vn/uploads/resources/606/copyright.jpg" width=
    "20" height="20"></a>~<input type="radio" name="asearchAll" id=
    "asall" value="1"> <label for="asall">Tìm trên
    Violet</label></form>
    </center>
    <br>
    <label for="search_types" style=
    "display: block; float: left; width: 200px">Tìm theo kiểu
    file</label> <select name='search_types' id='search_types'>
    <option value="all">Tất cả</option>
    <option value="ppt">File Powerpoint</option>
    <option value="doc">File word</option>
    <option value="pdf">File PDF</option>
    <option value="xls">File Excel</option>
    <option value="xvl">Bài giảng Violet</option>
    <option value="cg3">Bài giảng bằng Cabri</option>
    <option value="gsp">Bài giảng bằng SketchPad</option>
    <option value="jpg">Ảnh jpg</option>
    <option value="swf">Flash</option>
    <option value="flv">Video</option>
    <option value="mp3">Nhạc mp3</option>
    </select><br>
    <label for="search_range" style=
    "display: block; float: left; width: 200px">Tìm trong</label> <select name='search_range' id='search_range'>
    <option value="all">Nội dung</option>
    <option value="title">Tiêu đề</option>
    </select><br>
    <label for="search_author" style=
    "display: block; float: left; width: 200px">Tên tác giả</label><form><input name='search_author' id='search_author' type=
    "text"></form>
    <div id="search_control" style="display: none">Loading...</div>
    <div id="search_result"></div>
    <div id="search_display"></div>
    <script type="text/javascript">

    function getSearchAdditional() {
    var sites = ["site:http://bangvu.violet.vn"];
    var condition = "";
    if ($('asone')!=undefined && $F('asone')==0) {
    condition += sites.join(' OR ');
    } else {
    condition += 'site:http://bachkim.vn OR site:http://violet.vn';
    }
    condition += " inurl:showprint";
    return condition;
    }

    function getSearchCondition() {
    var condition = "";

    var types = $F('search_types');
    if (types!='all') {
    condition += ' "type: ' + types + '"';
    }

    if ($F('search_range')=='all') {
    condition += " " + $F("advance_search");
    } else {
    condition += ' "title: ' + $F('advance_search') + '"';
    }

    if ($F('search_author')!='') {
    condition += ' "sender: ' + $F('search_author') + '"';
    }
    return condition;
    }
    function AdvanceSearchComplete(searchControl, searcher) {
    var main = $('search_result');
    main.childNodes[0].style.display = 'none';    // table
    var content = main.childNodes[1];             // div A
    if (content.innerHTML == "") {
    main.innerHTML = "<div class='doc'><h2>Không tìm thấy kết quả nào<\/h2><div class='content'><\/div><\/div>";
    return;
    }
    var moreContent = content.childNodes[1];      // div C
    var n = moreContent.childNodes.length;
    var controlNode = moreContent.childNodes[n-1];
    var details = [];
    var ids = [];
    var types = [];
    for (var i=0; i<n; i++) {
    if (i==0) {
    result = content.childNodes[0];           //div B0
    } else result = moreContent.childNodes[i-1];//div B1,2
    getSearchItemContent(result, ids, details, types);
    }
    var searchProgress = document.createElement('div');
    searchProgress.id = 'search_progress';
    searchProgress.innerHTML = "Chúc bạn tìm được kết quả như mong muốn !";
    moreContent.appendChild(searchProgress);
    new Ajax.Updater('search_display', '/' + g_blogname + 'home/showsearch/ids/' + ids.toString() +
    '/types/' + types.toString(), {asynchronous:true, evalScripts:false, onComplete: function() {
    var n = ids.length;
    for (var i=0; i<n; i++) {
    var dv = $('p'+ids[i]);
    if (undefined!=dv) dv.innerHTML = details[i];
    }
    }});
    }

    function AdvanceSearch() {
    var searchControl = new google.search.SearchControl();

    var options = new google.search.SearcherOptions();
    options.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
    options.setRoot(document.getElementById("search_result"));

    var siteSearch = new google.search.WebSearch();
    siteSearch.setQueryAddition(getSearchAdditional());
    searchControl.setSearchCompleteCallback(null, AdvanceSearchComplete);

    searchControl.addSearcher(siteSearch, options);
    searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);

    searchControl.draw(document.getElementById("search_control"));
    searchControl.execute(getSearchCondition());
    }

    function getSearchItemContent(item, ids, details, types) {
    var s = item.childNodes[0].childNodes[0].childNodes[0].href;
    s = s.match(/(entry|doc|pr)_id\/([0-9]+)/gi) + '';
    if (s!=undefined) {
    s = s.split('/', 4);
    switch (s[0]) {
    case 'pr_id': types.push(0); break;
    case 'doc_id': types.push(1); break;
    default: types.push(2); break;
    }
    ids.push(s[1]);
    details.push(item.childNodes[0].childNodes[1].innerHTML);
    }
    result.innerHTML = '';
    }
    </script>
    Loading...

    function getSearchAdditional() {
    var sites = ["site:http://bangvu.violet.vn"];
    var condition = "";
    if ($('asone')!=undefined && $F('asone')==0) {
    condition += sites.join(' OR ');
    } else {
    condition += 'site:http://bachkim.vn OR site:http://violet.vn';
    }

    condition += " inurl:showprint";
    return condition;
    }

    function getSearchCondition() {
    var condition = "";

    var types = $F('search_types');
    if (types!='all') {
    condition += ' "type: ' + types + '"';
    }

    if ($F('search_range')=='all') {
    condition += " " + $F("advance_search");
    } else {
    condition += ' "title: ' + $F('advance_search') + '"';
    }

    if ($F('search_author')!='') {
    condition += ' "sender: ' + $F('search_author') + '"';
    }
    return condition;
    }
    function AdvanceSearchComplete(searchControl, searcher) {
    var main = $('search_result');
    main.childNodes[0].style.display = 'none';    // table
    var content = main.childNodes[1];             // div A
    if (content.innerHTML == "") {
    main.innerHTML = "

    Không tìm thấy kết quả nào<\/h2>

    <\/div><\/div>";

    return;

    }

    var moreContent = content.childNodes[1];      // div C

    var n = moreContent.childNodes.length;

    var controlNode = moreContent.childNodes[n-1];

    var details = [];

    var ids = [];

    var types = [];

    for (var i=0; i

    if (i==0) {

    result = content.childNodes[0];           //div B0

    } else result = moreContent.childNodes[i-1];//div B1,2

    getSearchItemContent(result, ids, details, types);

    }

    var searchProgress = document.createElement('div');

    searchProgress.id = 'search_progress';

    searchProgress.innerHTML = "Đang tìm kiếm...";

    moreContent.appendChild(searchProgress);

    new Ajax.Updater('search_display', '/' + g_blogname + 'home/showsearch/ids/' + ids.toString() +

    '/types/' + types.toString(), {asynchronous:true, evalScripts:false, onComplete: function() {

    var n = ids.length;

    for (var i=0; i

    var dv = $('p'+ids[i]);

    if (undefined!=dv) dv.innerHTML = details[i];

    }

    }});

    }


    function AdvanceSearch() {

    var searchControl = new google.search.SearchControl();


    var options = new google.search.SearcherOptions();

    options.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);

    options.setRoot(document.getElementById("search_result"));


    var siteSearch = new google.search.WebSearch();

    siteSearch.setQueryAddition(getSearchAdditional());

    searchControl.setSearchCompleteCallback(null, AdvanceSearchComplete);


    searchControl.addSearcher(siteSearch, options);

    searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);


    searchControl.draw(document.getElementById("search_control"));

    searchControl.execute(getSearchCondition());

    }


    function getSearchItemContent(item, ids, details, types) {

    var s = item.childNodes[0].childNodes[0].childNodes[0].href;

    s = s.match(/(entry|doc|pr)_id\/([0-9]+)/gi) + '';

    if (s!=undefined) {

    s = s.split('/', 4);

    switch (s[0]) {

    case 'pr_id': types.push(0); break;

    case 'doc_id': types.push(1); break;

    default: types.push(2); break;

    }

    ids.push(s[1]);

    details.push(item.childNodes[0].childNodes[1].innerHTML);

    }

    result.innerHTML = '';

    }


    Nhắn tin cho tác giả
    Vũ Ngọc Hải Bằng @ 03:46 26/05/2011
    Số lượt xem: 834
    Số lượt thích: 0 người
    Avatar
    Cỗ máy tìm kiếm của Violet đây ! Tuyệt
    Avatar

    "Tìm là có- Kiếm là thấy" của cậu út thật tuyệt nè! Chúc mừng em thành công liên tiếp thành công nha!

     

    Avatar
    Code này dài quá, làm sao chuyển qua host cho nó nhẹ web đi chú Út.Bối&nbsp;rối
     
    Gửi ý kiến