So,
>>
>>
>> In TW 2.9.0 (and old TiddlySaver), I get (!)
>> HTMLCollection [<applet style="position:absolute;left:-1px"
>> name="TiddlySaver" code="TiddlySaver.class" archive="TiddlySaver.jar"
>> width="1" height="1"/>, <applet style="position:absolute;left:-1px"
>> name="TiddlySaver" code="TiddlySaver.class" archive="TiddlySaver.jar"
>> width="1" height="1"/>]
>>
>
> Uh oh.. that's not right. The value of document.applets['TiddlySaver']
> returns
> an HTMLCollection with two applets, rather than just one. It looks like
> there are TWO "TiddlySaver" applets loaded at the same time, which would be
> a likely side-effect of the potential problem with recreateOriginal() that
> I described above.
>
> By the way, with the old TiddlySaver, this bad-semantics fixer plugin
enables saving:
javaSaveFile = function(filePath,content)
{
var applet = document.applets['TiddlySaver'];* if(applet instanceof
HTMLCollection) // YL tweak
applet = applet.item(0);*
try {
if (applet && filePath) {
return applet.saveFile(javaUrlToFilename(filePath),
"UTF-8", content);
}
} catch(ex) {
logTiddlySaverException("javaSaveFile", ex);
}
// is this next block working anywhere ? -- grmble
try {
var s = new java.io.PrintStream(new
java.io.FileOutputStream(javaUrlToFilename(filePath)));
s.print(content);
s.close();
} catch(ex2) {
return null;
}
return true;
}
> At the same time, if I do this in Chrome, I get
>> <applet style="position:absolute;left:-1px" name="TiddlySaver"
>> code="TiddlySaver.class" archive="TiddlySaver.jar" width="1" height="1"/>
>> in both cases.
>>
>
> That's correct.
>
>
>> Also, the same thing (HTMLCollection) appears instead of the applet in
>> Opera with the new TiddlySaver. So, this is the reason why saving doesn't
>> work..
>>
>
> Not surprising... if the problem is the errant doubling of the
> <applet>..</applet> block, then the problem will appear regardless of the
> version of TiddlySaver.jar you attempt.
>
> Some things to try:
> 1) One way to look for confirmation of the problem, search the entire TW
> document source using a full-text editor, to see if a hard-coded
> <applet>...</applet> block exists (other than the conditional one present
> in the document.write()). If such a block is found... try removing it from
> the document and then repeat your experiments to see if that fixes the
> problem.
>
> No saved blocks in the source.
> 2) in Opera, examine the value of document.documentElement.outerHTML, and
> see what <applet>...</applet> block(s) it contains.
>
There's 2 applet blocks. After the definition of the
TW21Saver.prototype.externalizeTiddler method, there's this part:
//]]>
</script>
*<script type="text/javascript">//<![CDATA[if(useJavaSaver)
document.write("<applet style='position:absolute;left:-1px'
name='TiddlySaver' code='TiddlySaver.class' archive='TiddlySaver.jar'
width='1' height='1'></applet>");//]]></script><applet
style="position:absolute;left:-1px" name="TiddlySaver"
code="TiddlySaver.class" archive="TiddlySaver.jar" width="1"
height="1"></applet>*
<script id="jsdeprecatedArea" type="text/javascript">
//<![CDATA[
//--
//-- Deprecated Crypto functions and associated conversion routines.
//-- Use the jQuery.encoding functions directly instead.
//--
then some deprecated code and some other goes (which is not repeated), and
in the end of the text:
// Remove existing style sheet
// options.id is an optional name identifying the style sheet
// options.doc is an optional document reference
$.twStylesheet.remove = function(options) {
options = options || {};
var id = options.id || defaultId;
var doc = options.doc || document;
var el = doc.getElementById(id);
if(el) {
el.parentNode.removeChild(el);
}
};
})(jQuery);
//]]>
</script>
*<script type="text/javascript">//<![CDATA[if(useJavaSaver)
document.write("<applet style='position:absolute;left:-1px'
name='TiddlySaver' code='TiddlySaver.class' archive='TiddlySaver.jar'
width='1' height='1'></applet>");//]]></script><applet
style="position:absolute;left:-1px" name="TiddlySaver"
code="TiddlySaver.class" archive="TiddlySaver.jar" width="1"
height="1"></applet>*
<!--POST-SCRIPT-START-->
<!--POST-SCRIPT-END-->
</body></html>
> Then, use the browser's debugger to invoke manually recreateOriginal()
> and see if the returned value contains any "extra" <applet>...</applet>
> blocks.
>
No applet blocks in the returned value.
Best regards,
Yakov.
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.