Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Internet Archive directory listing searcher */
- if(document.location.pathname.search("/download/") == 0) /* if directory listing viewed */ {
- var listing = document.getElementsByClassName("download-directory-listing")[0];
- // create search bar in memory before inserting
- var search_input = document.createElement("input");
- search_input.placeholder="search files";
- search_input.onkeyup=search_list;
- search_input.style.marginRight="1em";
- // create search result counter in memory before inserting
- var result_counter = document.createElement("span");
- var listing_hr = listing.getElementsByTagName("hr")[0];
- listing.insertBefore(search_input, listing_hr); // insert search bar into page
- listing.insertBefore(result_counter, listing_hr); // insert result counter into page
- var list_items = document.getElementsByTagName("tr");
- var count = 0; // initialize counter for "for" loops
- var result_count = 0; // initialize result counter
- }
- function search_list() {
- result_count = 0; // reset result counter
- search_input.setAttribute("value",search_input.value); // compatibility
- for (count=2 /* skip "go to parent directory" */; count < list_items.length; count++) {
- // convert to case-insensitive
- var content_case_insensitive=list_items[count].innerHTML.toLowerCase();
- var search_case_insensitive = search_input.value.toLowerCase();
- // perform search
- if (content_case_insensitive.search(search_case_insensitive)<0) /* if no match */ {
- list_items[count].style.display="none"; /* hide */
- } else {
- list_items[count].style.display=""; // fall back to original CSS by resetting to undefined
- result_count++; // count results
- }
- }
- result_counter.innerHTML = result_count;
- if (result_count == 1) result_counter.innerHTML += " result"; // singular
- else result_counter.innerHTML += " results"; // plural
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement