最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Self modifying html-JavaScript file - Stack Overflow

programmeradmin2浏览0评论

I would like to have a html file with JavaScript, which (file) is able to modify its context. In more details, I imagine it like that. I have a html file, which I open with a browser. I have a text area there where I type my text and press submit button. As a result of that, the context of the form saved somewhere in the html file. What is the easiest and stable way to do that?

I would like to have a html file with JavaScript, which (file) is able to modify its context. In more details, I imagine it like that. I have a html file, which I open with a browser. I have a text area there where I type my text and press submit button. As a result of that, the context of the form saved somewhere in the html file. What is the easiest and stable way to do that?

Share Improve this question asked Oct 4, 2010 at 9:39 RomanRoman 131k173 gold badges368 silver badges467 bronze badges 7
  • 1 If you're talking about permanent storage, you will need a server side language or service for this. Can you use any? – Pekka Commented Oct 4, 2010 at 9:40
  • 4 I would like to do everything on my local puter. I know it's possible without a serve side language. A an working example I can mention TiddlyWiki. – Roman Commented Oct 4, 2010 at 9:44
  • Why don't you have a look at it then? – Felix Kling Commented Oct 4, 2010 at 9:46
  • TiddlyWiki is a wiki in a single html file. But I can't tell you how they write/save the data. But you may want to look at their source code: tiddlywiki. :-) – Philippe Gerber Commented Oct 4, 2010 at 9:49
  • 1 If you download TiddlyWiki, you'll see it actually es with two files — the JAR is what does the saving. – Chuck Commented Oct 4, 2010 at 10:13
 |  Show 2 more ments

1 Answer 1

Reset to default 9

TiddlyWiki saves all its content to a new, local html-with-javascript file in browser-specific ways. This is because writing to the local hard drive is not normally allowed in javascript, for security reasons. If you're interested in specifically how TiddlyWiki writes the file, check the source code, starting with:

function saveFile(fileUrl,content)
{
    var r = mozillaSaveFile(fileUrl,content);
    if(!r)
        r = ieSaveFile(fileUrl,content);
    if(!r)
        r = javaSaveFile(fileUrl,content);
    return r;
}

This requires the user to explicitly override security warnings. When I tried it in Firefox, I had to do so several times. This is not good practice, as a user would be sorely tempted to check "Remember this decision" and potentially expose themselves to malware in the future.

As someone else said, a better idea is to use client-side storage such as the new features in HTML 5 (available in newer browsers), or a more portable library such as Google Gears; or perhaps better, YUI's StorageUtility, which abstracts to a higher level and uses either HTML 5, Google Gears, or SWF depending on what's available.

发布评论

评论列表(0)

  1. 暂无评论