From 0e3f55fa6e627c242e3e2661aef081f0fa532865 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Sat, 31 May 2008 16:13:40 +0000 Subject: [PATCH] * remove mynoscript hack (doesnt always work, always breaks on IE) * Better JS event handling svn: r10068 --- collects/scribble/html-render.ss | 4 +++- collects/scribble/scribble-common.js | 4 ++-- .../scribblings/main/private/make-search.ss | 22 +++++++++---------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/collects/scribble/html-render.ss b/collects/scribble/html-render.ss index 4808c40142..ea15744e0d 100644 --- a/collects/scribble/html-render.ss +++ b/collects/scribble/html-render.ss @@ -721,7 +721,9 @@ [(script-element? e) `((script ([type ,(script-element-type e)]) ,(apply literal `("\n" ,@(script-element-script e) "\n"))) - (mynoscript ,@(render-plain-element e part ri)))] + ;; mynoscript hack doesn't always work (see hack in scribble-common.js) + (noscript ,@(render-plain-element e part ri)) + )] [(target-element? e) `((a ([name ,(format "~a" (anchor-name (tag-key (target-element-tag e) ri)))])) diff --git a/collects/scribble/scribble-common.js b/collects/scribble/scribble-common.js index 859654a69c..507f914fc0 100644 --- a/collects/scribble/scribble-common.js +++ b/collects/scribble/scribble-common.js @@ -56,5 +56,5 @@ function DoSearchKey(event, field, ver) { } // `noscript' is problematic in some browsers (always renders as a -// block), use this hack instead -document.write(""); +// block), use this hack instead (does not always work!) +// document.write(""); diff --git a/collects/scribblings/main/private/make-search.ss b/collects/scribblings/main/private/make-search.ss index 6878323087..726c460d8e 100644 --- a/collects/scribblings/main/private/make-search.ss +++ b/collects/scribblings/main/private/make-search.ss @@ -140,11 +140,10 @@ +'' +'' +'
' +'' + +' onkeydown="return key_handler(event);" />' +'
' - +'<<' @@ -153,7 +152,7 @@ +' ' +'' +'' - +'>>' @@ -295,23 +294,24 @@ result_links[i].style.display = "none"; } } + var exact = Math.min((exact_results_num - first_search_result), + results_num); + exact = (exact <= 0) ? "" + : " (" + + ((exact == results_num) ? "all" : exact) + + " exact)"; if (search_results.length == 0) status.innerHTML = ((last_search_term=="") ? "" : "No matches found"); else if (search_results.length <= results_num) - status.innerHTML = "Showing all matches"; + status.innerHTML = "Showing all matches" + exact; else status.innerHTML = "Showing " + (first_search_result+1) + "-" + Math.min(first_search_result+results_num,search_results.length) + + exact + " of " + search_results.length + ((search_results.length==plt_search_data.length) ? "" : " matches"); - if (exact_results_num > 0) - status.innerHTML += - " (" - + ((exact_results_num == search_results.length) - ? "all" : exact_results_num) - + " exact)"; prev_page_link.style.color = (first_search_result-results_num >= 0) ? "black" : "#e8e8e8"; next_page_link.style.color =