mirror of
				https://github.com/Jermolene/TiddlyWiki5
				synced 2025-10-30 23:23:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			125 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | |
| <html lang="en">
 | |
| 
 | |
| <head>
 | |
| 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 | |
| 	<title>jQuery.twFile</title>
 | |
| 	<link rel="stylesheet" type="text/css" href="styles/main.css">
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
| 	<h1>jQuery.twFile</h1>
 | |
| 	<p>
 | |
| 		This <a href="http://jquery.com">jQuery</a> plugin provides access to
 | |
| 		the local file system (for documents loaded from a <code>file://</code>
 | |
| 		URI) to load and save file contents from the browser.
 | |
| 	</p>
 | |
| 
 | |
| 	<p>
 | |
| 		The code is based on <a href="http://tiddlywiki.com">TiddlyWiki</a>'s
 | |
| 		self-saving capabilities.
 | |
| 	</p>
 | |
| 
 | |
| 	<p id="TiddlySaver">
 | |
| 		Note that the <a href="http://www.tiddlywiki.com/TiddlySaver.jar">TiddlySaver</a>
 | |
| 		applet is required on Opera and WebKit-based browsers (Safari, Chrome).
 | |
| 		The applet has to be present in the same folder as the respective HTML document.
 | |
| 	</p>
 | |
| 
 | |
| 	<h2>Source</h2>
 | |
| 	<p>
 | |
| 		The source code is currently hosted in TiddlyWiki's
 | |
| 		<a href="http://svn.tiddlywiki.org/Trunk/core/jquery/plugins/jQuery.twFile.js">Subversion repository</a>.
 | |
| 	</p>
 | |
| 	<p>
 | |
| 		<a href="http://groups.google.com/group/TiddlyWikiDev/">Feedback</a> is welcome.
 | |
| 	</p>
 | |
| 
 | |
| 	<h2>API Summary</h2>
 | |
| 	<ul>
 | |
| 		<li>
 | |
| 			<p><code>$.twFile.load(filePath)</code>: load contents from file</p>
 | |
| 		</li>
 | |
| 		<li>
 | |
| 			<p><code>$.twFile.save(filePath, content)</code>: save contents to file</p>
 | |
| 		</li>
 | |
| 		<li>
 | |
| 			<p><code>$.twFile.copy(dest, source)</code>: duplicate existing file</p>
 | |
| 			<p><strong>N.B.:</strong> This is not supported on all browsers.</p>
 | |
| 		</li>
 | |
| 		<li>
 | |
| 			<p>
 | |
| 				<code>$.twFile.convertUriToLocalPath(filePath)</code>:
 | |
| 				normalizes specified absolute file path
 | |
| 			</p>
 | |
| 		</li>
 | |
| 	</ul>
 | |
| 	<p>
 | |
| 		<strong>N.B.:</strong> All file paths must be absolute (e.g.
 | |
| 		<code>/tmp/foo.txt</code> or <code>C:\temp\foo.txt</code>).
 | |
| 	</p>
 | |
| 	<p>(full documentation in the code comments)</p>
 | |
| 
 | |
| 	<h2>Limitations</h2>
 | |
| 	<ul>
 | |
| 		<li>
 | |
| 			plugin unavailable until
 | |
| 			<a href="http://docs.jquery.com/Events/ready">document.ready</a>
 | |
| 			handlers have completed
 | |
| 			<p>
 | |
| 				Since the TiddlySaver applet cannot be injected synchronously
 | |
| 				into the document, this is done asynchronously during
 | |
| 				<code>document.ready</code> processing.
 | |
| 			</p>
 | |
| 			<p>
 | |
| 				This means that the plugin is not guaranteed to work properly
 | |
| 				until after all these handlers have completed.
 | |
| 			</p>
 | |
| 		</li>
 | |
| 		<li>
 | |
| 			currently unreliable UTF-8 support on Internet Explorer
 | |
| 			<p>
 | |
| 				The plugin is designed to work with UTF-8 encoded text files.
 | |
| 				However, support in Internet Explorer is broken, and can only
 | |
| 				reliably save files that are encoded with the ANSI subset of
 | |
| 				UTF-8. In the case of HTML files, this problem can often be
 | |
| 				avoided by using HTML entity encodings.
 | |
| 			</p>
 | |
| 		</li>
 | |
| 	</ul>
 | |
| 
 | |
| 	<h2>Internals</h2>
 | |
| 	<p>
 | |
| 		Internally, the plugin uses four separate drivers to implement the functionality on different browsers:
 | |
| 		<ul>
 | |
| 			<li>
 | |
| 				<code>activeX</code>: uses the <code>FileSystemObject</code> built into Internet Explorer 5 and above
 | |
| 			</li>
 | |
| 			<li>
 | |
| 				<code>mozilla</code>: uses the XUL libraries built into Firefox
 | |
| 			</li>
 | |
| 			<li>
 | |
| 				<code>tiddlySaver</code>: uses a custom Java applet that works on Safari, Chrome and Opera
 | |
| 			</li>
 | |
| 			<li>
 | |
| 				<code>javaLiveConnect</code>: uses an ancient (and slow) binding technology to call Java runtime library routines directly - only works on Opera
 | |
| 			</li>
 | |
| 		</ul>
 | |
| 	</p>
 | |
| 
 | |
| 	<h2>Demo</h2>
 | |
| 	<p>
 | |
| 		Download <a href="twFileDemo.html">this document</a> (and
 | |
| 		<a href="#TiddlySaver">TiddlySaver</a> if necessary) and open it from
 | |
| 		the local disk.
 | |
| 	</p>
 | |
| 	<p>
 | |
| 		This demo illustrates self-saving capabilities by passing
 | |
| 		<code>document.location.href</code> to <code>$.twFile.convertUriToLocalPath</code>,
 | |
| 		using the return value in load and save functions.
 | |
| 	</p>
 | |
| 
 | |
| </body>
 | |
| 
 | |
| </html>
 | 
