use css to scale slides up in safari
This commit is contained in:
		
							
								
								
									
										42
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -298,30 +298,36 @@
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	function checkCapabilities() {
 | 
						function checkCapabilities() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		features.transforms3d = 'WebkitPerspective' in document.body.style ||
 | 
							isMobileDevice = /(iphone|ipod|ipad|android)/gi.test( navigator.userAgent );
 | 
				
			||||||
								'MozPerspective' in document.body.style ||
 | 
					 | 
				
			||||||
								'msPerspective' in document.body.style ||
 | 
					 | 
				
			||||||
								'OPerspective' in document.body.style ||
 | 
					 | 
				
			||||||
								'perspective' in document.body.style;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		features.transforms2d = 'WebkitTransform' in document.body.style ||
 | 
							var testElement = document.createElement( 'div' );
 | 
				
			||||||
								'MozTransform' in document.body.style ||
 | 
					
 | 
				
			||||||
								'msTransform' in document.body.style ||
 | 
							features.transforms3d = 'WebkitPerspective' in testElement.style ||
 | 
				
			||||||
								'OTransform' in document.body.style ||
 | 
													'MozPerspective' in testElement.style ||
 | 
				
			||||||
								'transform' in document.body.style;
 | 
													'msPerspective' in testElement.style ||
 | 
				
			||||||
 | 
													'OPerspective' in testElement.style ||
 | 
				
			||||||
 | 
													'perspective' in testElement.style;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							features.transforms2d = 'WebkitTransform' in testElement.style ||
 | 
				
			||||||
 | 
													'MozTransform' in testElement.style ||
 | 
				
			||||||
 | 
													'msTransform' in testElement.style ||
 | 
				
			||||||
 | 
													'OTransform' in testElement.style ||
 | 
				
			||||||
 | 
													'transform' in testElement.style;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		features.requestAnimationFrameMethod = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;
 | 
							features.requestAnimationFrameMethod = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;
 | 
				
			||||||
		features.requestAnimationFrame = typeof features.requestAnimationFrameMethod === 'function';
 | 
							features.requestAnimationFrame = typeof features.requestAnimationFrameMethod === 'function';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		features.canvas = !!document.createElement( 'canvas' ).getContext;
 | 
							features.canvas = !!document.createElement( 'canvas' ).getContext;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		features.touch = !!( 'ontouchstart' in window );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		// Transitions in the overview are disabled in desktop and
 | 
							// Transitions in the overview are disabled in desktop and
 | 
				
			||||||
		// mobile Safari due to lag
 | 
							// Safari due to lag
 | 
				
			||||||
		features.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test( navigator.userAgent );
 | 
							features.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test( navigator.userAgent );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		isMobileDevice = /(iphone|ipod|ipad|android)/gi.test( navigator.userAgent );
 | 
							// Flags if we should use zoom instead of transform to scale
 | 
				
			||||||
 | 
							// up slides. Zoom produces crisper results but has a lot of
 | 
				
			||||||
 | 
							// xbrowser quirks so we only use it in whitelsited browsers.
 | 
				
			||||||
 | 
							features.zoom = 'zoom' in testElement.style && !isMobileDevice &&
 | 
				
			||||||
 | 
											( /chrome/i.test( navigator.userAgent ) || /Version\/[\d\.]+.*Safari/.test( navigator.userAgent ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1592,10 +1598,10 @@
 | 
				
			|||||||
				transformSlides( { layout: '' } );
 | 
									transformSlides( { layout: '' } );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			else {
 | 
								else {
 | 
				
			||||||
				// Use zoom to scale up in desktop Chrome so that content
 | 
									// Prefer zoom for scaling up so that content remains crisp.
 | 
				
			||||||
				// remains crisp. We don't use zoom to scale down since that
 | 
									// Don't use zoom to scale down since that can lead to shifts
 | 
				
			||||||
				// can lead to shifts in text layout/line breaks.
 | 
									// in text layout/line breaks.
 | 
				
			||||||
				if( scale > 1 && !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) {
 | 
									if( scale > 1 && features.zoom ) {
 | 
				
			||||||
					dom.slides.style.zoom = scale;
 | 
										dom.slides.style.zoom = scale;
 | 
				
			||||||
					dom.slides.style.left = '';
 | 
										dom.slides.style.left = '';
 | 
				
			||||||
					dom.slides.style.top = '';
 | 
										dom.slides.style.top = '';
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user