The $:/ prefix is for system tiddlers. I used VP from your initials to avoid potential clashes. You could use $:/temp/.. which won't persist on node, but I think do by default in the single file version.
I think even if that Tiddler persists you should be ok. The flow I suggested relies on the tiddler changing and not whether it's present or what it's content is. On Tue, 16 Jun 2020, 12:46 Vladimir Pouzanov, <[email protected]> wrote: > This sounds exactly like what I was looking for! > > Is $:/vp/ some magical prefix I don’t know about? How do I make sure > the $:/vp/youtube-api-loaded isn’t persisted in the storage and has its > value reset on every reload? > > > -- > > > On Tuesday, Jun 16, 2020 at 11:13 a.m., Saq Imtiaz <[email protected]> > wrote: > Here's the first idea that comes to mind: > > Add a onYouTubeIframeAPIReady function that calls the following: > > $tw.wiki.setText(title,field,index,value,options) > > Use this to set the value of a tiddler like $:/vp/youtube-api-loaded to > true > > $tw.wiki.setText("$:/vp/youtube-api-loaded","text","","true"); > > In the refresh function of your widget, check if $:/vp/youtube-api-loaded > is one of the changedTiddlers. If it is, refresh the widget. > > > On Tuesday, June 16, 2020 at 10:27:14 AM UTC+2, Vladimir Pouzanov wrote: >> >> I was hacking arount boot.js and I noticed that the YT api script >> actually loads in time, it’s just that the script itself is asynchronous. >> From >> https://developers.google.com/youtube/iframe_api_reference#Requirements: >> >> Any web page that uses the IFrame API must also implement the following >> JavaScript function: >> onYouTubeIframeAPIReady – The API will call this function when the page >> has finished downloading the JavaScript for the player API, which enables >> you to then use the API on your page. Thus, this function might create the >> player objects that you want to display when the page loads. >> >> So it’s not the question of how to delay the boot, I indeed need to force >> redraw some widgets after the YT api notifies the JS it finished loading. >> >> An obvious dirty hack is to wait until onYouTubeIframeAPIReady in the >> very end of boot.js but I’d still like to make this solution into a >> reasonable plugin. >> >> Any further ideas on how I can force a widget redraw from the “outside” >> js scope would be appreciated. >> >> -- >> >> >> On Tuesday, Jun 16, 2020 at 6:50 a.m., Christian Byron < >> [email protected]> wrote: >> Hey Vladimir >> >> I think you could a couple of things, namely : >> - try renaming your tiddler so it is a system tiddler ( eg >> $:\script\youtube.api ) ... I believe system tiddlers are loaded before >> content tiddlers ... not sure though that loading into the wiki store is >> enough to execute the script tag though... >> - try adding the field "*module-type" *with the value of "*startup" *and >> see if that changes the loading sequence enough to get it working .. not >> sure if this will work with the RawMarkup tag >> >> If neither above works ... a better solution may be to change your >> tiddler to be *type *application/javascript and replace the contents >> with the code itself.. I know marking this with module-type = startup will >> make this code run before any content is rendered. >> >> Pulling in external libraries this way is the prefered approach as it >> makes sure it is available while offline ( although not as applicable in >> your use case ) .. and as the code in that link is not very big it will be >> a simple approach >> >> Cheers >> CB >> >> -- >> You received this message because you are subscribed to the Google Groups >> "TiddlyWikiDev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/tiddlywikidev/28a13fd8-0cec-4c05-a668-88fad18637f0o%40googlegroups.com >> <https://groups.google.com/d/msgid/tiddlywikidev/28a13fd8-0cec-4c05-a668-88fad18637f0o%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- > You received this message because you are subscribed to the Google Groups > "TiddlyWikiDev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywikidev/afa7d3ad-944a-43a7-8561-2c0bba89aa79o%40googlegroups.com > <https://groups.google.com/d/msgid/tiddlywikidev/afa7d3ad-944a-43a7-8561-2c0bba89aa79o%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to a topic in the > Google Groups "TiddlyWikiDev" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/tiddlywikidev/RMWIKblWfgw/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywikidev/64b402c3-19db-4119-bba4-8c0fad49369e%40Canary > <https://groups.google.com/d/msgid/tiddlywikidev/64b402c3-19db-4119-bba4-8c0fad49369e%40Canary?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/CAJuiAb1G6CPc7vvuAtJWDHxDuCL_LCLJsH8Hfk7WHu3GScLjEQ%40mail.gmail.com.
