first steps to make printing work with IE8

This commit is contained in:
DennisSchiefer 2012-05-08 15:57:25 +01:00
parent 50aea3310a
commit a975dba975
4 changed files with 74 additions and 36 deletions

View File

@ -61,44 +61,81 @@ deactivate: function() { // use hide route as trigger
// create UI in printwindow
show: function(response) {
// create header
// create header (using tables for compatibility with IE quirks mode)
var header =
'<thead class="description-header"><tr><td colspan="3">' +
'<div class="full">' +
'<div class="row">' +
'<table class="full">' +
'<tr class="row">' +
'<div class="left stretch">' +
'<div class="full">' +
'<div class="row">' +
'<div class="left description-header-label">' + OSRM.loc("GUI_START")+ ': </div>' +
'<div class="left description-header-content stretch">' + document.getElementById("gui-input-source").value + '</div>' +
'</div>' +
'<div class="row">' +
'<div class="left description-header-label">' + OSRM.loc("GUI_END")+ ': </div>' +
'<div class="left description-header-content stretch">' + document.getElementById("gui-input-target").value + '</div>' +
'</div>' +
'</div>' +
'</div>' +
'<td class="left stretch">' +
'<table class="full">' +
'<tr class="row">' +
'<td class="left description-header-label">' + OSRM.loc("GUI_START")+ ': </td>' +
'<td class="left description-header-content stretch">' + document.getElementById("gui-input-source").value + '</td>' +
'</tr>' +
'<tr class="row">' +
'<td class="left description-header-label">' + OSRM.loc("GUI_END")+ ': </td>' +
'<td class="left description-header-content stretch">' + document.getElementById("gui-input-target").value + '</td>' +
'</tr>' +
'</table>' +
'</td>' +
'<div class="left">' +
'<div class="full">' +
'<div class="row">' +
'<div class="left description-header-label">' + OSRM.loc("DISTANCE")+': </div>' +
'<div class="left description-header-content">' + OSRM.Utils.toHumanDistance(response.route_summary.total_distance) + '</div>' +
'</div>' +
'<div class="row">' +
'<div class="left description-header-label">' + OSRM.loc("DURATION")+': </div>' +
'<div class="left description-header-content">' + OSRM.Utils.toHumanTime(response.route_summary.total_time) + '</div>' +
'</div>' +
'</div>' +
'</div>' +
'<td class="left">' +
'<table class="full">' +
'<tr class="row">' +
'<td class="left description-header-label">' + OSRM.loc("DISTANCE")+': </td>' +
'<td class="left description-header-content">' + OSRM.Utils.toHumanDistance(response.route_summary.total_distance) + '</td>' +
'</tr>' +
'<tr class="row">' +
'<td class="left description-header-label">' + OSRM.loc("DURATION")+': </td>' +
'<td class="left description-header-content">' + OSRM.Utils.toHumanTime(response.route_summary.total_time) + '</td>' +
'</tr>' +
'</table>' +
'</td>' +
'</div>' +
'</div>' +
'</tr>' +
'</table>' +
'<div class="quad"></div>' +
'</td></tr></thead>';
// var header =
// '<thead class="description-header"><tr><td colspan="3">' +
//
// '<div class="full">' +
// '<div class="row">' +
//
// '<div class="left stretch">' +
// '<div class="full">' +
// '<div class="row">' +
// '<div class="left description-header-label">' + OSRM.loc("GUI_START")+ ': </div>' +
// '<div class="left description-header-content stretch">' + document.getElementById("gui-input-source").value + '</div>' +
// '</div>' +
// '<div class="row">' +
// '<div class="left description-header-label">' + OSRM.loc("GUI_END")+ ': </div>' +
// '<div class="left description-header-content stretch">' + document.getElementById("gui-input-target").value + '</div>' +
// '</div>' +
// '</div>' +
// '</div>' +
//
// '<div class="left">' +
// '<div class="full">' +
// '<div class="row">' +
// '<div class="left description-header-label">' + OSRM.loc("DISTANCE")+': </div>' +
// '<div class="left description-header-content">' + OSRM.Utils.toHumanDistance(response.route_summary.total_distance) + '</div>' +
// '</div>' +
// '<div class="row">' +
// '<div class="left description-header-label">' + OSRM.loc("DURATION")+': </div>' +
// '<div class="left description-header-content">' + OSRM.Utils.toHumanTime(response.route_summary.total_time) + '</div>' +
// '</div>' +
// '</div>' +
// '</div>' +
//
// '</div>' +
// '</div>' +
//
// '<div class="quad"></div>' +
// '</td></tr></thead>';
// create route description
var body = '<tbody class="description-body">';
@ -122,8 +159,7 @@ show: function(response) {
body += "</td>";
body += '<td class="description-body-distance">';
if( i != response.route_instructions.length-1 )
body += '<b>'+OSRM.Utils.toHumanDistance(response.route_instructions[i][2])+'</b>';
body += (i == response.route_instructions.length-1) ? '&nbsp;' : '<b>'+OSRM.Utils.toHumanDistance(response.route_instructions[i][2])+'</b>'; // fill last entry with a space
body += "</td>";
body += "</tr>";
@ -141,7 +177,7 @@ show: function(response) {
var zoom = print_window.OSRM.drawMap( OSRM.DEFAULTS.TILE_SERVERS[tile_server_id], new L.LatLngBounds( positions ) );
// draw markers
print_window.OSRM.prefetchIcons( OSRM.G.images, OSRM.Printing.BASE_DIRECTORY );
print_window.OSRM.prefetchIcons( OSRM.G.images );
print_window.OSRM.drawMarkers( OSRM.G.markers.route );
// draw route & query for better geometry

View File

@ -192,7 +192,7 @@ div.label
}
.medium-font {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10.5px;
font-size: 10.5px; /* will be 10px in IE quirks mode */
font-weight: normal;
}
.small-font {

View File

@ -28,6 +28,7 @@ or see http://www.gnu.org/licenses/agpl.txt.
<title>OSRM Website</title>
<meta name="description" content="OSRM Website"/>
<meta name="author" content="Dennis Schieferdecker" />
<meta http-equiv="X-UA-Compatible" content="IE=7,9" />
<!-- stylesheets -->
<link rel="stylesheet" href="../leaflet/leaflet.css" type="text/css"/>

View File

@ -32,7 +32,7 @@ function printWindow() {
//prefetch icons
OSRM.GLOBALS.icons = {};
OSRM.prefetchIcons = function(images_list, BASE_DIRECTORY) {
OSRM.prefetchIcons = function(images_list) {
var icon_list = [ {id:'marker-source', image_id:'marker-source'},
{id:'marker-target', image_id:'marker-target'},
{id:'marker-via', image_id:'marker-via'},
@ -41,8 +41,9 @@ OSRM.prefetchIcons = function(images_list, BASE_DIRECTORY) {
for(var i=0; i<icon_list.length; i++) {
var icon = {
iconUrl: BASE_DIRECTORY+images_list[icon_list[i].image_id].getAttribute("src"), iconSize: new L.Point(25, 41), iconAnchor: new L.Point(13, 41),
shadowUrl: BASE_DIRECTORY+images_list["marker-shadow"].getAttribute("src"), shadowSize: new L.Point(41, 41),
// using absolute src directory for compatibility reasons with IE quirks mode
iconUrl: images_list[icon_list[i].image_id].src, iconSize: new L.Point(25, 41), iconAnchor: new L.Point(13, 41),
shadowUrl: images_list["marker-shadow"].src, shadowSize: new L.Point(41, 41),
popupAnchor: new L.Point(0, -33)
};
OSRM.G.icons[icon_list[i].id] = new L.SwitchableIcon(icon);