Fixes for Firefox
This commit is contained in:
		
							
								
								
									
										3
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								TODO
									
									
									
									
									
								
							@@ -4,6 +4,9 @@ test in other browsers and add note to README
 | 
			
		||||
maximum size of a haste
 | 
			
		||||
fix any annoying visual quirks
 | 
			
		||||
add FAVICON
 | 
			
		||||
cache static in memory
 | 
			
		||||
bug in ^n while editing
 | 
			
		||||
 | 
			
		||||
# shared version only
 | 
			
		||||
some way to do announcements easily (and use for ads)
 | 
			
		||||
copy URL to clipboard button
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@ textarea {
 | 
			
		||||
 | 
			
		||||
#box {
 | 
			
		||||
	padding: 0px;
 | 
			
		||||
	margin: 0px;
 | 
			
		||||
	width: 100%;
 | 
			
		||||
	height: 100%;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,8 +59,8 @@ var haste = function(appName, options) {
 | 
			
		||||
  this.$textarea = $('textarea');
 | 
			
		||||
  this.$box = $('#box');
 | 
			
		||||
  this.$code = $('#box code');
 | 
			
		||||
  this.configureShortcuts();
 | 
			
		||||
  this.options = options;
 | 
			
		||||
  this.configureShortcuts();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Set the page title - include the appName
 | 
			
		||||
@@ -120,7 +120,7 @@ haste.prototype.loadDocument = function(key) {
 | 
			
		||||
      _this.setTitle(title);
 | 
			
		||||
      _this.fullKey();
 | 
			
		||||
      _this.$textarea.val('').hide();
 | 
			
		||||
      _this.$box.show();
 | 
			
		||||
      _this.$box.show().focus();
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      _this.newDocument();
 | 
			
		||||
@@ -151,7 +151,7 @@ haste.prototype.lockDocument = function() {
 | 
			
		||||
      _this.fullKey();
 | 
			
		||||
      window.history.pushState(null, _this.appName + '-' + ret.key, '/' + ret.key);
 | 
			
		||||
      _this.$textarea.val('').hide();
 | 
			
		||||
      _this.$box.show();
 | 
			
		||||
      _this.$box.show().focus();
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
@@ -159,7 +159,7 @@ haste.prototype.lockDocument = function() {
 | 
			
		||||
// Configure keyboard shortcuts for the textarea
 | 
			
		||||
haste.prototype.configureShortcuts = function() {
 | 
			
		||||
  var _this = this;
 | 
			
		||||
  $('body').keydown(function(evt) {
 | 
			
		||||
  $(document.body).keydown(function(evt) {
 | 
			
		||||
    // ^L or ^S for lock
 | 
			
		||||
    if (evt.ctrlKey && (evt.keyCode === 76 || evt.keyCode === 83)) {
 | 
			
		||||
      if (_this.$textarea.val().replace(/^\s+|\s+$/g, '') !== '') {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,19 +12,29 @@
 | 
			
		||||
		<script type="text/javascript" src="application.js"></script>
 | 
			
		||||
 | 
			
		||||
		<script type="text/javascript">
 | 
			
		||||
			var app = null;
 | 
			
		||||
			// Handle pops
 | 
			
		||||
			var handlePop = function(evt) {
 | 
			
		||||
				var path = evt.target.location.pathname;
 | 
			
		||||
				if (path === '/') {
 | 
			
		||||
					app.newDocument(true);	
 | 
			
		||||
				}
 | 
			
		||||
				else {
 | 
			
		||||
					app.loadDocument(path.substring(1, path.length));
 | 
			
		||||
				}
 | 
			
		||||
			};
 | 
			
		||||
			// If pop before loading jquery, delay load
 | 
			
		||||
			window.onpopstate = function(evt) {
 | 
			
		||||
				try {
 | 
			
		||||
					handlePop(evt);
 | 
			
		||||
				} catch(err) {
 | 
			
		||||
					// not loaded yet
 | 
			
		||||
				}
 | 
			
		||||
			};
 | 
			
		||||
			// Construct app and load if not loaded
 | 
			
		||||
			$(function() {
 | 
			
		||||
				// Set up
 | 
			
		||||
				var app = new haste('haste', { twitter: true });
 | 
			
		||||
				// Handle pops
 | 
			
		||||
				window.onpopstate = function(evt) {
 | 
			
		||||
					var path = evt.target.location.pathname;
 | 
			
		||||
					if (path === '/') {
 | 
			
		||||
						app.newDocument(true);	
 | 
			
		||||
					}
 | 
			
		||||
					else {
 | 
			
		||||
						app.loadDocument(path.substring(1, path.length));
 | 
			
		||||
					}
 | 
			
		||||
				};
 | 
			
		||||
				app = new haste('haste', { twitter: true });
 | 
			
		||||
				handlePop({ target: window });
 | 
			
		||||
			});
 | 
			
		||||
		</script>
 | 
			
		||||
 | 
			
		||||
@@ -33,7 +43,7 @@
 | 
			
		||||
	<body>
 | 
			
		||||
 | 
			
		||||
		<div id="key"></div>
 | 
			
		||||
		<pre id="box" style="display:none;"><code></code></pre>
 | 
			
		||||
		<pre id="box" style="display:none;" tabindex="0"><code></code></pre>
 | 
			
		||||
		<textarea spellcheck="false" style="display:none;"></textarea>
 | 
			
		||||
 | 
			
		||||
	</body>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user