Charlie,

Thanks for this. 

   - I presume it is secure because the iframe acts like a sandbox
   - The result will be what is displayed because there is no permitted way 
   to impact the wiki

I wonder if 

   - A template can be used rather than the variable? yes the following 
   worked
   <iframe srcdoc={{template}} style="border:none;width:100%;"></iframe>
   - Use a TiddlyWiki template for the content of the iframe may need to 
   wikify first.

Have you played with the* innerwiki plugin* it's similar but different? It 
can pass a lot more data to the iframe (I think), in fact can build a whole 
wiki inside the iframe.

Speculation;

   - Could this be used by students of javascript?
   - what kind of Javascript code can be implemented this way?
   - Could it access functions defined in the parent wiki eg raw tags?
      - I suppose it could if added to the template.
   - Could we use iframes in which to publish complete html pages including 
   javascript as a website development or learning tool.

Regards
Tones

On Monday, 16 August 2021 at 12:39:05 UTC+10 cj.v...@gmail.com wrote:

> Better to keep the HTML readable, drag the attached json with two tiddlers 
> into some TiddlyWiki:
>
> On Sunday, August 15, 2021 at 11:27:41 PM UTC-3 Charlie Veniot wrote:
>
>> I don't know what made me think of this.
>>
>> In case this has not been brought up in a while (I doubt this is new to 
>> seasoned folk) ...
>>
>> I was thinking: could I use an iFrame to include simple javascript in a 
>> tiddler without getting into macros or plugins that enable javascript.
>>
>> And, if I could, then could I set things up so that the iFrame is showing 
>> javascript dynamically created by the tiddler ?
>>
>> So here is a way to show a digital clock in TiddlyWiki, for 
>> non-programmers who just want to copy and paste javascript code from the 
>> web without figuring out how the javascript code works :
>>
>> Put this in a brand new tiddler:
>>
>> *<$vars* *vSrcDoc*={{{ [[<body>  <div id="clockDiv"></div>  <script>    
>> let clockEl = document.getElementById("clockDiv");    function 
>> getClockTime() {      let date = new Date();      let hr = 
>> date.getHours();      let min = date.getMinutes();      let sec = 
>> date.getSeconds();      hr = ("0" + hr).slice(-2);      min = ("0" + 
>> min).slice(-2);      sec = ("0" + sec).slice(-2);      clockEl.innerHTML = 
>> `${hr}:${min}:${sec}`;    }    setInterval(getClockTime, 1000);  
>> </script></body>]] }}}*>*
>> *<iframe* srcdoc=*<<vSrcDoc>>* style="border:none;width:100%;"
>> *></iframe>*
>> *</$vars>*
>>
>> Sneaky sneaky, has me wondering what kind of other fun things could be 
>> done...
>>
>

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/5fd5bd22-1f07-4df2-9f23-40586c8c2d8cn%40googlegroups.com.

Reply via email to