📄 zoom_search.js
字号:
}
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=""+query+""";
}
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 + "&zoom_page=" + page + "&zoom_per_page=" + per_page + query_zoom_cats + "&zoom_and=" + andq + "&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 + "&zoom_page=" + page + "&zoom_per_page=" + per_page + query_zoom_cats + "&zoom_and=" + andq + "&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=""+query+""";
}
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> ");
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 += " - ";
info_str += STR_RESULT_SCORE + " " + score;
}
if (DisplayDate == 1 && pgdate > 0)
{
datetime = new Date(pgdate*1000);
if (info_str.length > 0)
info_str += " - ";
info_str += datetime.getDate() + " " + months[datetime.getMonth()] + " " + datetime.getFullYear();
}
if (DisplayFilesize == 1) {
if (info_str.length > 0)
info_str += " - ";
info_str += filesize + "k";
}
if (DisplayURL == 1) {
if (info_str.length > 0)
info_str += " - ";
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 + "&zoom_page=" + (page-1) + "&zoom_per_page=" + per_page + query_zoom_cats + "&zoom_and=" + andq + "&zoom_sort=" + sort + "\"><< " + 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 + "&zoom_page=" + i + "&zoom_per_page=" + per_page + query_zoom_cats + "&zoom_and=" + andq + "&zoom_sort=" + sort + "\">" + i + "</a> ");
}
if (page != num_pages)
document.writeln("<a href=\"" + SelfURL + "?zoom_query=" + queryForURL + "&zoom_page=" + (page+1) + "&zoom_per_page=" + per_page + query_zoom_cats + "&zoom_and=" + andq + "&zoom_sort=" + sort + "\">" + STR_RESULT_PAGES_NEXT + " >></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 + -