From e4e4b1ab4ea4a6e44b84efa5a67237e2ad044b60 Mon Sep 17 00:00:00 2001 From: Jonas <Snuffleupagus@server.fake> Date: Sun, 24 Feb 2013 17:49:42 +0100 Subject: [PATCH] Make navigation keys work on document load - avoid breaking embedded viewer, take 3 --- web/viewer.html | 42 +++++++++++++++++++++--------------------- web/viewer.js | 6 ++++++ 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/web/viewer.html b/web/viewer.html index d80056bad..0414e3316 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -79,10 +79,10 @@ limitations under the License. <div id="sidebarContainer"> <div id="toolbarSidebar"> <div class="splitToolbarButton toggled"> - <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" tabindex="1" data-l10n-id="thumbs"> + <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs"> <span data-l10n-id="thumbs_label">Thumbnails</span> </button> - <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" tabindex="2" data-l10n-id="outline"> + <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" tabindex="3" data-l10n-id="outline"> <span data-l10n-id="outline_label">Document Outline</span> </button> </div> @@ -98,44 +98,44 @@ limitations under the License. <div id="mainContainer"> <div class="findbar hidden doorHanger" id="findbar"> <label for="findInput" class="toolbarLabel" data-l10n-id="find_label">Find:</label> - <input id="findInput" class="toolbarField" tabindex="20"> + <input id="findInput" class="toolbarField" tabindex="21"> <div class="splitToolbarButton"> - <button class="toolbarButton findPrevious" title="" id="findPrevious" tabindex="21" data-l10n-id="find_previous"> + <button class="toolbarButton findPrevious" title="" id="findPrevious" tabindex="22" data-l10n-id="find_previous"> <span data-l10n-id="find_previous_label">Previous</span> </button> <div class="splitToolbarButtonSeparator"></div> - <button class="toolbarButton findNext" title="" id="findNext" tabindex="22" data-l10n-id="find_next"> + <button class="toolbarButton findNext" title="" id="findNext" tabindex="23" data-l10n-id="find_next"> <span data-l10n-id="find_next_label">Next</span> </button> </div> <input type="checkbox" id="findHighlightAll" class="toolbarField"> - <label for="findHighlightAll" class="toolbarLabel" tabindex="23" data-l10n-id="find_highlight">Highlight all</label> + <label for="findHighlightAll" class="toolbarLabel" tabindex="24" data-l10n-id="find_highlight">Highlight all</label> <input type="checkbox" id="findMatchCase" class="toolbarField"> - <label for="findMatchCase" class="toolbarLabel" tabindex="24" data-l10n-id="find_match_case_label">Match case</label> + <label for="findMatchCase" class="toolbarLabel" tabindex="25" data-l10n-id="find_match_case_label">Match case</label> <span id="findMsg" class="toolbarLabel"></span> </div> <div class="toolbar"> <div id="toolbarContainer"> <div id="toolbarViewer"> <div id="toolbarViewerLeft"> - <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="3" data-l10n-id="toggle_sidebar"> + <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="4" data-l10n-id="toggle_sidebar"> <span data-l10n-id="toggle_sidebar_label">Toggle Sidebar</span> </button> <div class="toolbarButtonSpacer"></div> - <button id="viewFind" class="toolbarButton group" title="Find in Document" tabindex="4" data-l10n-id="findbar"> + <button id="viewFind" class="toolbarButton group" title="Find in Document" tabindex="5" data-l10n-id="findbar"> <span data-l10n-id="findbar_label">Find</span> </button> <div class="splitToolbarButton"> - <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="5" data-l10n-id="previous"> + <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="6" data-l10n-id="previous"> <span data-l10n-id="previous_label">Previous</span> </button> <div class="splitToolbarButtonSeparator"></div> - <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="6" data-l10n-id="next"> + <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="7" data-l10n-id="next"> <span data-l10n-id="next_label">Next</span> </button> </div> <label id="pageNumberLabel" class="toolbarLabel" for="pageNumber" data-l10n-id="page_label">Page: </label> - <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="7"> + <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="8"> </input> <span id="numPages" class="toolbarLabel"></span> </div> @@ -143,37 +143,37 @@ limitations under the License. <input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;" style="visibility: hidden; position: fixed; right: 0; top: 0" /> - <button id="fullscreen" class="toolbarButton fullscreen" title="Switch to Presentation Mode" tabindex="11" data-l10n-id="presentation_mode"> + <button id="fullscreen" class="toolbarButton fullscreen" title="Switch to Presentation Mode" tabindex="12" data-l10n-id="presentation_mode"> <span data-l10n-id="presentation_mode_label">Presentation Mode</span> </button> - <button id="openFile" class="toolbarButton openFile" title="Open File" tabindex="12" data-l10n-id="open_file"> + <button id="openFile" class="toolbarButton openFile" title="Open File" tabindex="13" data-l10n-id="open_file"> <span data-l10n-id="open_file_label">Open</span> </button> - <button id="print" class="toolbarButton print" title="Print" tabindex="13" data-l10n-id="print"> + <button id="print" class="toolbarButton print" title="Print" tabindex="14" data-l10n-id="print"> <span data-l10n-id="print_label">Print</span> </button> - <button id="download" class="toolbarButton download" title="Download" tabindex="14" data-l10n-id="download"> + <button id="download" class="toolbarButton download" title="Download" tabindex="15" data-l10n-id="download"> <span data-l10n-id="download_label">Download</span> </button> <!-- <div class="toolbarButtonSpacer"></div> --> - <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Current view (copy or open in new window)" tabindex="15" data-l10n-id="bookmark"><span data-l10n-id="bookmark_label">Current View</span></a> + <a href="#" id="viewBookmark" class="toolbarButton bookmark" title="Current view (copy or open in new window)" tabindex="16" data-l10n-id="bookmark"><span data-l10n-id="bookmark_label">Current View</span></a> </div> <div class="outerCenter"> <div class="innerCenter" id="toolbarViewerMiddle"> <div class="splitToolbarButton"> - <button class="toolbarButton zoomOut" id="zoom_out" title="Zoom Out" tabindex="8" data-l10n-id="zoom_out"> + <button class="toolbarButton zoomOut" id="zoom_out" title="Zoom Out" tabindex="9" data-l10n-id="zoom_out"> <span data-l10n-id="zoom_out_label">Zoom Out</span> </button> <div class="splitToolbarButtonSeparator"></div> - <button class="toolbarButton zoomIn" id="zoom_in" title="Zoom In" tabindex="9" data-l10n-id="zoom_in"> + <button class="toolbarButton zoomIn" id="zoom_in" title="Zoom In" tabindex="10" data-l10n-id="zoom_in"> <span data-l10n-id="zoom_in_label">Zoom In</span> </button> </div> <span id="scaleSelectContainer" class="dropdownToolbarButton"> - <select id="scaleSelect" title="Zoom" oncontextmenu="return false;" tabindex="10" data-l10n-id="zoom"> + <select id="scaleSelect" title="Zoom" oncontextmenu="return false;" tabindex="11" data-l10n-id="zoom"> <option id="pageAutoOption" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option> <option id="pageActualOption" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option> <option id="pageFitOption" value="page-fit" data-l10n-id="page_scale_fit">Fit Page</option> @@ -204,7 +204,7 @@ limitations under the License. data-l10n-id="page_rotate_cw" ></menuitem> </menu> - <div id="viewerContainer"> + <div id="viewerContainer" tabindex="1"> <div id="viewer" contextmenu="viewerContextMenu"></div> </div> diff --git a/web/viewer.js b/web/viewer.js index b2308b610..d19f3005a 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -1334,6 +1334,12 @@ var PDFView = { } self.setInitialView(storedHash, scale); + + // Make all navigation keys work on document load, + // unless the viewer is embedded in another page. + if (window.parent.location === window.location) { + PDFView.container.focus(); + } }); pdfDocument.getMetadata().then(function(data) {