⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zoom_search.js

📁 CD Manager光盘资料管家婆源代码
💻 JS
📖 第 1 页 / 共 3 页
字号:
                	}
                	if (cati == num_zoom_cats)
                		IsFiltered = true;
                }
                else {                		                
	                if (pageinfo[i][PAGEINFO_CAT].charAt(cat[0]) == "0") {
	                    IsFiltered = true;
	                }
	            }
            }
            if (IsFiltered == false) {
                if (res_table[i][2] >= full_numwords) {
                    fullmatches++;
                } else {
                    if (andq == 1)
                        IsFiltered = true;
                }
            }
            if (IsFiltered == false) {
                // copy if not filtered out
                output[oline] = new Array(3);
                output[oline][0] = i;
                output[oline][1] = res_table[i][0];
                output[oline][2] = res_table[i][1];
                oline++;
            }
        }
    }
    matches = oline;    

    // Sort results in order of score, use "SortCompare" function
    if (matches > 1)    
   	{
   		if (sort == 1 && UseDateTime == 1)
   			output.sort(SortByDate);	// sort by date
   		else
        	output.sort(SortCompare);	// sort by relevance
    }
    
    // prepare queryForURL
    var queryForURL = query.replace(/\s/g, "+");
	if (UseUTF8 == 1 && self.encodeURIComponent)
    	queryForURL = encodeURIComponent(queryForURL);
	else
    	queryForURL = escape(queryForURL);    

    //Display search result information
    document.writeln("<div class=\"summary\">");
    if (matches == 0)
        document.writeln(STR_SUMMARY_NO_RESULTS_FOUND + "<br />");
    else if (numwords > 1 && andq == 0) {
        //OR
        SomeTermMatches = matches - fullmatches;
        document.writeln(PrintNumResults(fullmatches) + " " + STR_SUMMARY_FOUND_CONTAINING_ALL_TERMS + " ");
        if (SomeTermMatches > 0)
            document.writeln(PrintNumResults(SomeTermMatches) + " " + STR_SUMMARY_FOUND_CONTAINING_SOME_TERMS);
        document.writeln("<br />");
    }
    else if (numwords > 1 && andq == 1) //AND
        document.writeln(PrintNumResults(fullmatches) + " " + STR_SUMMARY_FOUND_CONTAINING_ALL_TERMS + "<br />");
    else
        document.writeln(PrintNumResults(matches) + " " + STR_SUMMARY_FOUND + "<br />");

    document.writeln("</div>\n");

    // number of pages of results
    num_pages = Math.ceil(matches / per_page);
    if (num_pages > 1)
        document.writeln("<div class=\"result_pagescount\"><br />" + num_pages + " " + STR_PAGES_OF_RESULTS + "</div>\n");
        
    // Show recommended links if any
    if (Recommended == 1)
    {
    	num_recs_found = 0;
    	rec_count = recommended.length;
    	for (rl = 0; rl < rec_count && num_recs_found < RecommendedMax; rl++)
    	{
    		sep = recommended[rl].lastIndexOf(" ");
    		if (sep > -1)
    		{
    			rec_word = recommended[rl].slice(0, sep);
    			rec_idx = parseInt(recommended[rl].slice(sep));
				for (sw = 0; sw <= numwords; sw++)	
				{
					if (sw == numwords)
					{
						match_result = wordcasecmp(rec_word, queryForSearch);
					}
					else
					{
						if (UseWildCards[sw] == 1)
						{
				            if (SearchAsSubstring == 0)
				                pattern = "^" + RegExpSearchWords[sw] + "$";
				            else
				                pattern = RegExpSearchWords[sw];
				            re = new RegExp(pattern, "g");
				            match_result = rec_word.search(re);							
						}
						else if (SearchAsSubstring == 0)
						{
							match_result = wordcasecmp(rec_word, searchWords[sw]);
						}
						else
							match_result = rec_word.indexOf(searchWords[sw]);
					}
					if (match_result != -1)
					{
						if (num_recs_found == 0)
						{
							document.writeln("<div class=\"recommended\">");
							document.writeln("<div class=\"recommended_heading\">" + STR_RECOMMENDED + "</div>");
						}
						pgurl = pagedata[rec_idx][PAGEDATA_URL];
						pgtitle = pagedata[rec_idx][PAGEDATA_TITLE];
						pgdesc = pagedata[rec_idx][PAGEDATA_DESC];
				        urlLink = pgurl;				        
				    	if (GotoHighlight == 1)				
				    	{
				    		if (SearchAsSubstring == 1)
				    			urlLink = AddParamToURL(urlLink, "zoom_highlightsub=" + queryForURL);
				    		else
				    			urlLink = AddParamToURL(urlLink, "zoom_highlight=" + queryForURL);
						}			
					    if (PdfHighlight == 1)
					    {
					    	if (urlLink.indexOf(".pdf") != -1)
					    		urlLink = urlLink+"#search=&quot;"+query+"&quot;";
					    } 						
						document.writeln("<div class=\"recommend_block\">");
						document.writeln("<div class=\"recommend_title\">");
			       		document.writeln("<a href=\"" + urlLink + "\"" + target + ">");
			       		if (pgtitle.length > 1)
			       			PrintHighlightDescription(pgtitle);
			       		else
			       			PrintHighlightDescription(pgurl);
			       		document.writeln("</a></div>");					       		
			       		document.writeln("<div class=\"recommend_description\">")
			       		PrintHighlightDescription(pgdesc);
			       		document.writeln("</div>");			       		
			       		document.writeln("<div class=\"recommend_infoline\">" + pgurl + "</div>");
			       		document.writeln("</div>");
			       		num_recs_found++;			       		
			       		break;				
					}
				}    			
    		}
    	}
    	if (num_recs_found > 0)
    		document.writeln("</div");
    }
    
    // Show sorting options
    if (matches > 1)
    {
    	if (UseDateTime == 1)
    	{
    		document.writeln("<div class=\"sorting\">");
    		if (sort == 1)
				document.writeln("<a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&amp;zoom_page=" + page + "&amp;zoom_per_page=" + per_page + query_zoom_cats + "&amp;zoom_and=" + andq + "&amp;zoom_sort=0\">" + STR_SORTBY_RELEVANCE + "</a> / <b>" + STR_SORTEDBY_DATE + "</b>");
			else
				document.writeln("<b>" + STR_SORTEDBY_RELEVANCE + "</b> / <a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&amp;zoom_page=" + page + "&amp;zoom_per_page=" + per_page + query_zoom_cats + "&amp;zoom_and=" + andq + "&amp;zoom_sort=1\">" + STR_SORTBY_DATE + "</a>");
			document.writeln("</div>");
    	}    	
    }    

    // determine current line of result from the output array
    if (page == 1) {
        arrayline = 0;
    } else {
        arrayline = ((page - 1) * per_page);
    }

    // the last result to show on this page
    result_limit = arrayline + per_page;

    // display the results
    while (arrayline < matches && arrayline < result_limit) {
        ipage = output[arrayline][0];
        score = output[arrayline][1];
        
		pgurl = pagedata[ipage][PAGEDATA_URL];
		pgtitle = pagedata[ipage][PAGEDATA_TITLE];
		pgdesc = pagedata[ipage][PAGEDATA_DESC];
		pgimage = pagedata[ipage][PAGEDATA_IMG];		
		pgdate = pageinfo[ipage][PAGEINFO_DATETIME];
		filesize = pageinfo[ipage][PAGEINFO_FILESIZE];
		filesize = Math.ceil(filesize / 1024);
		if (filesize < 1)
			filesize = 1;
		catpage = pageinfo[ipage][PAGEINFO_CAT];
		
        urlLink = pgurl;				                        
    	if (GotoHighlight == 1)				
    	{
    		if (SearchAsSubstring == 1)
    			urlLink = AddParamToURL(urlLink, "zoom_highlightsub=" + queryForURL);
    		else
    			urlLink = AddParamToURL(urlLink, "zoom_highlight=" + queryForURL);
		}		
	    if (PdfHighlight == 1)
	    {
	    	if (urlLink.indexOf(".pdf") != -1)
	    		urlLink = urlLink+"#search=&quot;"+query+"&quot;";
	    } 
                
	    if (arrayline % 2 == 0)
    		document.writeln("<div class=\"result_block\">");
    	else
    		document.writeln("<div class=\"result_altblock\">");
    	
	    if (UseZoomImage == 1)
	    {	    	
	    	if (pgimage.length > 1)
	    	{
	    		document.writeln("<div class=\"result_image\">");    		
	    		document.writeln("<a href=\"" + urlLink + "\"" + target + "><img src=\"" + pgimage + "\" class=\"result_image\"></a>");
	    		document.writeln("</div>");
	    	}
	    }
    		                
        document.writeln("<div class=\"result_title\">");
        if (DisplayNumber == 1)
        	document.writeln("<b>" + (arrayline+1) + ".</b>&nbsp;");
        	
        if (DisplayTitle == 1)
        {
       		document.writeln("<a href=\"" + urlLink + "\"" + target + ">");
			PrintHighlightDescription(pgtitle);
       		document.writeln("</a>");
        }        
        else
        	document.writeln("<a href=\"" + urlLink + "\"" + target + ">" + pgurl + "</a>");
                   
        if (UseCats) 
        {        	
            document.write("<span class=\"category\">");
            for (cati = 0; cati < NumCats; cati++)
            {
            	if (catpage.charAt(cati) == "1")
            		document.write(" ["+catnames[cati]+"]");
            }             
            document.writeln("</span>");
        }
        document.writeln("</div>");
        
        if (DisplayMetaDesc == 1)
        {
        	// print meta description
            document.writeln("<div class=\"description\">");            
            PrintHighlightDescription(pgdesc);
            document.writeln("</div>\n");
        }
        
        info_str = "";
        
        if (DisplayTerms == 1)
        	info_str += STR_RESULT_TERMS_MATCHED + " " + output[arrayline][2];
        	
        if (DisplayScore == 1) {
        	if (info_str.length > 0)
        		info_str += "&nbsp; - &nbsp;";
        	info_str += STR_RESULT_SCORE + " " + score;
        }
        
        if (DisplayDate == 1 && pgdate > 0) 
        {
        	datetime = new Date(pgdate*1000);
        	if (info_str.length > 0)
        		info_str += "&nbsp; - &nbsp;";
        	info_str += datetime.getDate() + " " + months[datetime.getMonth()] + " " + datetime.getFullYear();
        }
        
        if (DisplayFilesize == 1) {
        	if (info_str.length > 0)
        		info_str += "&nbsp; - &nbsp;";
        	info_str += filesize + "k";
        }        
             
        if (DisplayURL == 1) {
        	if (info_str.length > 0)
        		info_str += "&nbsp; - &nbsp;";
			info_str += STR_RESULT_URL + " " + pgurl;
        }
                   
        document.writeln("<div class=\"infoline\">");
        document.writeln(info_str);                        
        document.writeln("</div></div>\n");
        arrayline++;
    }

    // Show links to other result pages
    if (num_pages > 1) {
        // 10 results to the left of the current page
        start_range = page - 10;
        if (start_range < 1)
            start_range = 1;

        // 10 to the right
        end_range = page + 10;
        if (end_range > num_pages)
            end_range = num_pages;

        document.writeln("<div class=\"result_pages\">" + STR_RESULT_PAGES + " ");
        if (page > 1)
            document.writeln("<a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&amp;zoom_page=" + (page-1) + "&amp;zoom_per_page=" + per_page + query_zoom_cats + "&amp;zoom_and=" + andq + "&amp;zoom_sort=" + sort + "\">&lt;&lt; " + STR_RESULT_PAGES_PREVIOUS + "</a> ");
        for (i = start_range; i <= end_range; i++) 
        {
            if (i == page)
                document.writeln(page + " ");
            else
                document.writeln("<a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&amp;zoom_page=" + i + "&amp;zoom_per_page=" + per_page + query_zoom_cats + "&amp;zoom_and=" + andq + "&amp;zoom_sort=" + sort + "\">" + i + "</a> ");            
        }
        if (page != num_pages)
            document.writeln("<a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&amp;zoom_page=" + (page+1) + "&amp;zoom_per_page=" + per_page + query_zoom_cats + "&amp;zoom_and=" + andq + "&amp;zoom_sort=" + sort + "\">" + STR_RESULT_PAGES_NEXT + " &gt;&gt;</a> ");
        document.writeln("</div>");
    }

    document.writeln("</div>"); // end results style tag

    if (Timing == 1) {
        timeEnd = new Date();
        timeDifference = timeEnd - timeStart;
        document.writeln("<div class=\"searchtime\"><br /><br />" + STR_SEARCH_TOOK + " " + (timeDifference/1000) + " " + STR_SECONDS + ".</div>\n");
    }

    if (ZoomInfo == 1)
        document.writeln("<center><p><small>" + STR_POWEREDBY + " <a href=\"http://www.wrensoft.com/zoom/\" target=\"_blank\"><b>Zoom Search Engine</b></a></small></p></center>");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -