{"id":56872,"date":"2022-09-20T03:01:45","date_gmt":"2022-09-19T17:01:45","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=56872"},"modified":"2022-09-20T11:43:30","modified_gmt":"2022-09-20T01:43:30","slug":"web-share-api-intranet-video-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-intranet-video-tutorial\/","title":{"rendered":"Web Share API Intranet Video Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Web Share API Intranet Video Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/pdfimageplustext_agvid.jpg\" title=\"Web Share API Intranet Video Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Web Share API Intranet Video Tutorial<\/p><\/div>\n<p>Adding to yesterday&#8217;s <a title='Web Share API Animated GIF Tutorial' href='#wsapiagift'>Web Share API Animated GIF Tutorial<\/a> &#8230;<\/p>\n<ul>\n<li>animated GIF (PDF sharing) &#8230; today we add &#8230;<\/li>\n<li>video (via animated GIF via PDF)<\/li>\n<\/ul>\n<p> &#8230; but we need you to think &#8220;Intranet&#8221; for our first idea here.   Here at our macOS setup we use a <a target=_blank title='MAMP' href='http:\/\/www.mamp.info'>MAMP<\/a> local Apache\/PHP\/MySql web server as our &#8220;Intranet&#8221; portal.<\/p>\n<p>We&#8217;ve also installed the great <a target=_blank title='ffmpeg' href='https:\/\/www.ffmpeg.org\/'>ffmpeg<\/a> on this macOS system, and thanks to some great advice from <a target=_blank title=' ffmpeg lossless conversion of animated GIF to video' href='http:\/\/forum.doom9.org\/archive\/index.php\/t-168999.html'>this link<\/a> about ffmpeg lossless conversion of animated GIF to video &#8230;<\/p>\n<p><code><br \/>\nffmpeg -i video.gif -c:v libx264 -preset veryslow -qp 0 output.mp4<br \/>\n<\/code><\/p>\n<p> &#8230; we have <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html--------GETME \">a tweaked HTML and Javascript<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html--------GETME\">web_share_api_test.html<\/a> <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\">Web Share API supervisor<\/a> web application (we&#8217;d now like you to download to MAMP Document Root HTMLCSS folder, as well as  <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/client_browsing.html----------------------GETME\">client_browsing.htm<\/a> <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/client_browsing.htm\">Client Browsing supervisor<\/a>) to start making this a possibility, with <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php---------------------GETME\">its changed, sometimes supervisory<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php---------------------GETME\">pdfimageplustext.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php\" title=\"Click picture\">Image and Text PDF<\/a> PHP web application (we&#8217;d now like you to download to MAMP Document Root folder).<\/p>\n<p>Local web servers will not only have this extra accessible functionality, but their response times should be faster too.  The public RJM Programming version will understand a MAMP HTTP:\/\/localhost:888\/ clone and also look for ffmpeg to facilitate our &#8220;Intranet&#8221; feeling video creation solution.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-intranet-video-tutorial\/'>Web Share API Intranet Video Tutorial<\/a>.<\/p-->\n<hr>\n<p id='wsapiagift'>Previous relevant <a target=_blank title='Web Share API Animated GIF Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-animated-gif-tutorial\/'>Web Share API Animated GIF Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Web Share API Animated GIF Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_ag_share.jpg\" title=\"Web Share API Animated GIF Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Web Share API Animated GIF Tutorial<\/p><\/div>\n<p>On top of yesterday&#8217;s <a title='Web Share API Download Tutorial' href='#wsapidt'>Web Share API Download Tutorial<\/a> work, there are some more advances we&#8217;ll like to integrate into our inhouse <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>Web Share API<\/a> interfacer.<\/p>\n<p>The first of these is to offer an animated GIF file conversion when a PDF <font size=1>(so far just those Books)<\/font> is the media being shared.  When thinking of approaches to encapture image presentation material in a single file when we think of PDF we also often think of animated GIF, as it has the additional advantage of being able to be, in a webpage &#8230;<\/p>\n<ul>\n<li>an HTML img element &#8230; or &#8230;<\/li>\n<li>an HTML element&#8217;s background image<\/li>\n<\/ul>\n<p> &#8230; both offering that image rotation and looping advantages that animated GIF have over PDF, as again the data fidelity and viewing incarnation advantages PDF has over animated GIF.  We <font color=blue>just needed<\/font> &#8230;<\/p>\n<p><code><br \/>\n  <font color=blue>function doit(tv) {<br \/>\n  document.getElementById('aag').href=document.getElementById('aag').href.split('&')[0] + '&delay=' + tv;<br \/>\n  }<br \/>\n<br \/> <br \/>\n  function basebit(inuis) {<br \/>\n    if (inuis.indexOf('\/\/') != -1) {<br \/>\n      if (inuis.split('\/\/')[1].indexOf('\/') != -1) {<br \/>\n        return inuis.replace(inuis.split('\/\/')[0] + '\/\/' + inuis.split('\/\/')[1].split('\/')[0] + '\/','');<br \/>\n      }<br \/>\n    }<br \/>\n    return inuis;<br \/>\n  }<\/font><br \/>\n<br \/>\n  function trythis(inpdfidea) {<br \/>\n    if (inpdfidea.toLowerCase().indexOf('-0.pdf') != -1) {<br \/>\n      woq=window.open(inpdfidea.split('#')[0], '_blank', 'top=50,left=50,width=800,height=800');<br \/>\n      document.getElementById('adown').innerHTML+='&amp;nbsp;&lt;a style=\"text-decoration:none;cursor:pointer;background-color:yellow;border:2px solid red;margin: 13px 13px 13px 13px;\" target=_blank title=\"Download ' + ('\/' + inpdfidea.split('#')[0]).split('\/')[eval(-1 + ('\/' + inpdfidea.split('#')[0]).split('\/').length)] + ' PDF Book\" href=\"' + inpdfidea.split('#')[0] + '\" download&gt;' + '&amp;nbsp;Download &lt;font size=1&gt;' + ('\/' + inpdfidea.split('#')[0]).split('\/')[eval(-1 + ('\/' + inpdfidea.split('#')[0]).split('\/').length)] + '&lt;\/font&gt; PDF Book&amp;nbsp;&lt;\/a&gt;<font color=blue>&amp;nbsp;&lt;a style=\"text-decoration:none;cursor:pointer;background-color:pink;border:2px solid blue;margin: 13px 13px 13px 13px;\" target=_blank title=\"Create ' + ('\/' + inpdfidea.split('#')[0]).split('\/')[eval(-1 + ('\/' + inpdfidea.split('#')[0]).split('\/').length)].replace('-0.pdf','-ag.gif') + ' Animated GIF\" href=\"\/pdfimageplustext.php?first=' + encodeURIComponent(basebit(inpdfidea).split('#')[0].replace('-0.pdf','-0.jpg')) + '&delay=500' + '\" id=aag&gt;' + '&amp;nbsp;Create &lt;font size=1&gt;' + ('\/' + inpdfidea.split('#')[0]).split('\/')[eval(-1 + ('\/' + inpdfidea.split('#')[0]).split('\/').length)].replace('-0.pdf','-ag.gif') + '&lt;\/font&gt; Animated GIF Delay &amp;nbsp;&lt;\/a&gt;&amp;nbsp;&lt;input onchange=doit(this.value); type=number style=display:inline-block;background-color:pink; value=500 min=1 step=1 id=iag&gt;&lt;\/input&gt;<\/font>';<br \/>\n    }<br \/>\n    return inpdfidea;<br \/>\n  }<br \/>\n<\/code> <\/p>\n<p> &#8230; in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html-------GETME \">the changed HTML and Javascript<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html-------GETME\">web_share_api_test.html<\/a> <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\">Web Share API supervisor<\/a> web application to start making this a possibility, with <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php--------------------GETME\">its changed, sometimes supervisory<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php--------------------GETME\">pdfimageplustext.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php\" title=\"Click picture\">Image and Text PDF<\/a> PHP web application.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-animated-gif-tutorial\/'>Web Share API Animated GIF Tutorial<\/a> ...<\/p>\n\n\n\n\n\n<hr>\n\n\n\n\n\n<p id='wsapidt'>Previous relevant <a target=_blank title='Web Share API Download Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-download-tutorial\/'>Web Share API Download Tutorial<\/a> is shown below.<\/p>\n\n\n\n\n[caption id=\"\" align=\"alignnone\" width=\"220\" caption=\"Web Share API Download Tutorial\"]<a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Web Share API Download Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test_download.jpg\" title=\"Web Share API Download Tutorial\"  style=\"float:left;\" \/><\/a>[\/caption]\n\n\n\n<p>When we first wrote about the <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>Web Share API<\/a> with the recent <a title='Web Share API Primer Tutorial' href='#wsapipt'>Web Share API Primer Tutorial<\/a> you may have been like me, pretty excited about the prospect?!  Well, it's the lack of support, at least right now, that has let us down a little.  We thought it might help get around the bugbear of the use of PHP mail function and inline HTML emails, less a possibility these days with security concerns.<\/p>\n\n\n\n\n\n<p>And though the API is not well supported we thought we'd like to \"tread water usefully\" waiting for \"those days of acceptance\" and augment our interfacing web application to it, offering some new ...<\/p>\n\n\n\n\n\n<ul>\n\n\n<li>download functionality ... starting with ...<\/li>\n\n\n\n\n<li>offer \"a\" <a target=_blank href='https:\/\/www.w3schools.com\/tags\/att_a_download.asp' title='a link download attribute information from W3schools'>\"download attribute\"<\/a> button looking elements off the URL <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>Web Share API<\/a> sharing functionality<\/li>\n\n\n<\/ul>\n\n\n\n\n\n<p>What got us interested?  Yesterday's <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/image-and-text-pdf-large-animated-gif-text-nodes-tutorial\/' title='Image and Text PDF Large Animated GIF Text Nodes Tutorial'>Image and Text PDF Large Animated GIF Text Nodes Tutorial<\/a>'s web application's interfacing to our \"middle person\" interfacing to <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>Web Share API<\/a> functionality could benefit greatly from this.<\/p>\n\n\n\n\n\n<p>And that is because ... <a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=uhiCFdWeQfA'>anyone, anyone<\/a>?  Yes, <a target=_blank title='?' href='https:\/\/en.wikipedia.org\/wiki\/Rip_Van_Winkle'>Rip<\/a>, glad you could go the distance with us on this one ... <\/p>\n\n\n\n\n\n<blockquote>\n ... any link on a shared email or SMS sent only lasts less than a day, but <a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=d3KdY_rm1SE'>\"<strike>diamonds<\/strike>downloads are forevvver\"<\/a>\n<\/blockquote>\n\n\n\n\n\n<p>And don't forget that, also ...<\/p>\n\n\n\n\n\n<blockquote>\n ... \"a\" \"download attribute\" links are pretty much <i>cross<\/i> platform and <i>cross<\/i> browser\n<\/blockquote>\n\n\n\n\n\n<p>So, yes, <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/Mac\/rolling.gif'>Luna<\/a>, \"spaniel <i>cross<\/i>\" <b>is<\/b> better than <a target=_blank title='?' href='https:\/\/www.google.com\/search?q=spaniel+cranky&rlz=1C5CHFA_enAU973AU973&sxsrf=ALiCzsZEeqkZ6GN5hooH8L3k615kToYbFA%3A1663386850586&ei=4kQlY6axI9vy4-EP-_qUiAU&ved=0ahUKEwimquny9pr6AhVb-TgGHXs9BVEQ4dUDCA4&uact=5&oq=spaniel+cranky&gs_lcp=Cgdnd3Mtd2l6EAMyBQgAEKIEMgUIABCiBDIFCAAQogQyBQgAEKIEOgYIABAeEAc6CggAEB4QDxAHEAo6CAgAEB4QDxAHOggIABAeEAgQB0oECEEYAEoECEYYAFAAWOgMYN8PaABwAXgAgAGxAYgB6giSAQMwLjeYAQCgAQHAAQE&sclient=gws-wiz'>\"spaniel cranky\"<\/a>!<\/p>\n\n\n\n\n\n<p>See for yourself, with <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html------GETME \">the changed HTML and Javascript<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html------GETME\">web_share_api_test.html<\/a> <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\">Web Share API supervisor<\/a> web application helped out be <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php--------------------GETME\">its changed, sometime supervisory<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php--------------------GETME\">pdfimageplustext.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pdfimageplustext.php\" title=\"Click picture\">Image and Text PDF<\/a> PHP web application.<\/p>\n\n\n\n<!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/new-web-share-api-primer-tutorial\/'>New Web Share API Primer Tutorial<\/a>.<\/p-->\n<hr>\n<p id='wsapipt'>Previous relevant <a target=_blank title='Web Share API Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-primer-tutorial\/'>Web Share API Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Web Share API Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.gif\" title=\"Web Share API Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Web Share API Primer Tutorial<\/p><\/div>\n<p>The web is improved by operating system <a target=_blank title='Context menu information from Wikipedia' href='https:\/\/en.wikipedia.org\/wiki\/Context_menu#:~:text=A%20context%20menu%20(also%20called,a%20right%2Dclick%20mouse%20operation.'>Context Menus<\/a> via <i>right clicks or two finger gestures<\/i> over &#8230;<\/p>\n<ul>\n<li>links<\/li>\n<li>media<\/li>\n<li>document<\/li>\n<\/ul>\n<p> &#8230; webpage contents.  Today, we roadtest a web API called <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>&#8220;Web Share API&#8221;<\/a> that simulates <i>right clicks or two finger gestures<\/i> with your normal everyday button press on a webpage.<\/p>\n<p>Of most use, is the &#8220;Web Share API&#8221; which can take multiple selected files (via a &#8220;browse&#8221; type button) &#8230;<\/p>\n<p><code><br \/>\n\/\/ Thanks to https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share<br \/>\n<br \/>\ndocument.getElementById('share').addEventListener('click', async () =&gt; {<br \/>\n  const files = input.files<br \/>\n<br \/>\n  if (files.length === 0) {<br \/>\n    shareurl();<br \/>\n    output.textContent = 'No files selected.'<br \/>\n    return<br \/>\n  }<br \/>\n<br \/>\n  \/\/ feature detecting navigator.canShare() also implies<br \/>\n  \/\/ the same for the navigator.share()<br \/>\n  if (!navigator.canShare) {<br \/>\n    output.textContent = `Your browser doesn't support the Web Share API.`<br \/>\n    return<br \/>\n  }<br \/>\n<br \/>\n  if (navigator.canShare({ files })) {<br \/>\n    try {<br \/>\n      await navigator.share({<br \/>\n        files,<br \/>\n        title: 'Media or documents',<br \/>\n        text: 'Take a look at media or documents below' + String.fromCharCode(10) + String.fromCharCode(10)<br \/>\n      })<br \/>\n      output.textContent = 'Shared!'<br \/>\n    } catch (error) {<br \/>\n      output.textContent = `Error: ${error.message}`<br \/>\n    }<br \/>\n  } else {<br \/>\n    output.textContent = `Your system doesn't support sharing these files.`<br \/>\n  }<br \/>\n});<br \/>\n<\/code><\/p>\n<p> &#8230; and attach them to an email or SMS or some other &#8220;Sharing Application&#8221; on that operating system &#8220;Context Menu&#8221; in readiness for the user to fill in other requirements and then send off to the recipient, as required.<\/p>\n<p>This API was a little strange to us in that on this macOS setup Safari web browser worked, rather than Google Chrome, which is a turn around from our usual expectations with these experimental Javascript APIs.  Feel free to try our <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\">&#8220;proof of concept&#8221;<\/a> <a target=_blank title='Web Share API' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Navigator\/share'>&#8220;Web Share API&#8221;<\/a> based, thanks, HTML and Javascript <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\">web application<\/a> you can also try below &#8230;<\/p>\n<p><iframe style=\"width:100%;height:600px;\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/web_share_api_test.html\"><\/iframe><\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56396' onclick='var dv=document.getElementById(\"d56396\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/api\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56396' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56858' onclick='var dv=document.getElementById(\"d56858\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/download\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56858' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56867' onclick='var dv=document.getElementById(\"d56867\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/animated-gif\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56867' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56872' onclick='var dv=document.getElementById(\"d56872\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/video\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56872' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Adding to yesterday&#8217;s Web Share API Animated GIF Tutorial &#8230; animated GIF (PDF sharing) &#8230; today we add &#8230; video (via animated GIF via PDF) &#8230; but we need you to think &#8220;Intranet&#8221; for our first idea here. Here at &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/web-share-api-intranet-video-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,12,14,29,37],"tags":[83,85,88,174,275,278,360,380,415,418,576,1658,624,652,1807,714,720,744,760,997,1133,1159,1319,1369,4031],"class_list":["post-56872","post","type-post","status-publish","format-standard","hentry","category-animation","category-elearning","category-event-driven-programming","category-operating-system","category-tutorials","tag-animated-gif","tag-apache","tag-api","tag-button","tag-cross-browser","tag-cross-platform","tag-download","tag-email","tag-ffmpeg","tag-file","tag-html","tag-imagemagick","tag-intranet","tag-javascript","tag-link","tag-local-web-server","tag-lossless","tag-mamp","tag-media","tag-programming","tag-share","tag-sms","tag-tutorial","tag-video","tag-web-share-api"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56872"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=56872"}],"version-history":[{"count":6,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56872\/revisions"}],"predecessor-version":[{"id":56878,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56872\/revisions\/56878"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=56872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=56872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=56872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}