{"id":15319,"date":"2015-06-09T05:01:48","date_gmt":"2015-06-08T19:01:48","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=15319"},"modified":"2016-02-08T21:17:08","modified_gmt":"2016-02-08T11:17:08","slug":"html-table-events-for-colspan-and-rowspan-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/html-table-events-for-colspan-and-rowspan-tutorial\/","title":{"rendered":"HTML Table Events for Colspan and Rowspan Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/table_span.html\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"HTML Table Events for Colspan and Rowspan Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/table_span.jpg\" title=\"HTML Table Events for Colspan and Rowspan Tutorial\"   id='qaqwihcct' onmouseover=\"  this.src=this.src.replace('.gif','.xjpg').replace('.jpg','.xgif').replace('.x','.');        \"   \/><\/a><p class=\"wp-caption-text\">HTML Table Events for Colspan and Rowspan Tutorial<\/p><\/div>\n<p>Let&#8217;s again (after yesterday&#8217;s <a target=_blank title='' href='#hdadiet'>HTML Drag and Drop Image Events Tutorial<\/a> as shown below) talk about the client side of web applications, continuing on with our concentration on Javascript mouse events, to talk a bit about mouse events relevant to an HTML <a target=_blank href='http:\/\/www.w3schools.com\/html\/html_tables.asp' title='HTML table element information from w3schools'>table<\/a> element.<\/p>\n<p>Although there are arguments to say there is no longer any need for the use of the HTML table element when you have the use of HTML div elements and lots of clever styling, the ease of understanding of the HTML table element along with its simplicity of alignment and\/or justification web page arrangements make it endlessly attractive to us for web page work.<\/p>\n<p>HTML events are what makes the web pages today jump out at you with functionality, and this is equally applicable to HTML table elements.<\/p>\n<p>HTML table elements consist of three optionally used segments &#8230;<\/p>\n<ul>\n<li>header &#8230; via the <i>thead<\/i> element<\/li>\n<li>body &#8230; via the <i>tbody<\/i> element<\/li>\n<li>footer &#8230; via the <i>tfoot<\/i> element<\/li>\n<\/ul>\n<p>HTML table elements consist of &#8230;<\/p>\n<ul>\n<li>rows &#8230; via the <i>tr<\/i> element<\/li>\n<li>columns &#8230; via the <i>td<\/i> element and\/or <i>th<\/i> element &#8230; table cell<\/li>\n<\/ul>\n<p>Maybe you are put off applying event logic onto table cells, but am here to ask you to reconsider.  You can do so much.<\/p>\n<p>New to talk about, eventwise, today, and particularly of interest to a &#8220;component&#8221; HTML element such as a table cell is the <a target=_blank title='Event onmouseout information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseout.asp'>onmouseout<\/a> event, when the mouse moves away from an HTML element.<\/p>\n<p>So what events were relevant to the table cell elements, specifically the <i>td<\/i> ones?<\/p>\n<ul>\n<li><a target=_blank title='Event onmouseover information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseover.asp'>onmouseover<\/a>=&#8217; omoverrowcol(this); &#8216; &#8230; allows for identification of the cell of interest<\/li>\n<li><a target=_blank title='Event onclick information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onclick.asp'>onclick<\/a>=&#8217; rowcol(this); &#8216; &#8230; allows for identification of the cell of interest (today there is no permanence of feeling about the functionality used &#8230; hence both events point to the same functionality)<\/li>\n<li><a target=_blank title='Event onmouseout information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseout.asp'>onmouseout<\/a>=&#8217; omoutrowcol(this); &#8216; &#8230; allows for identification of the time to return to the status quo<\/li>\n<\/ul>\n<p>The other HTML table element properties explored closely today involve the two properties that can break up the symmetry of the table grid &#8230;<\/p>\n<ul>\n<li><a target=_blank title='HTML table cell rowspan information from w3schools' href='http:\/\/www.w3schools.com\/tags\/att_td_rowspan.asp'>rowspan<\/a><\/li>\n<li><a target=_blank title='HTML table cell colspan information from w3schools' href='http:\/\/www.w3schools.com\/tags\/att_td_colspan.asp'>colspan<\/a><\/li>\n<\/ul>\n<p>Some other ideas explored today are &#8230;<\/p>\n<ul>\n<li>embedding a YouTube video into a web page dynamically<\/li>\n<li>random self-running slideshow option for usage<\/li>\n<li>Javascript <a target=_blank title='Javascript setInterval timer method information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/met_win_setinterval.asp'>setInterval<\/a> timer (as the mechanism for functionality above)<\/li>\n<li>background linear gradient<\/li>\n<\/ul>\n<p>Think, perhaps, you need to try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/table_span.html\" title='Click picture'>live run<\/a> to get what we mean (the YouTube videos happen with a couple of entry combinations you may guess &#8230; or perhaps you may not?!).<\/p>\n<p>And here is the HTML and Javascript code for your perusal that you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/table_span.html_GETME\" title=\"table_span.html\">table_span.html<\/a><\/p>\n<hr>\n<p id='hdadiet'>Previous relevant <a target=_blank title='' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/html-drag-and-drop-image-events-tutorial\/'>HTML Drag and Drop Image Events 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\/Canvas\/Game\/DragAndDrop_LeftToRight\/\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"HTML Drag and Drop Image Events Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/Canvas\/Game\/DragAndDrop_LeftToRight\/dd_lr.jpg\" title=\"HTML Drag and Drop Image Events Tutorial\"   id='aqwihcct' onmouseover=\"  this.src=this.src.replace('.jpeg','.xjpg').replace('.jpg','.xjpeg').replace('.x','.');        \"   \/><\/a><p class=\"wp-caption-text\">HTML Drag and Drop Image Events Tutorial<\/p><\/div>\n<p>Recently we&#8217;ve been talking about the client side of web applications, and you could say we&#8217;ve been concentrating on Javascript mouse events, and very recently, the drag and drop variety of mouse events.  Today we revisit all that, but take out the HTML5 canvas element from the picture we were seeing a couple of days with <a target=_blank title='' href='#hcmgdadt'>HTML Canvas Memories Game Drag and Drop Tutorial<\/a> as shown below, to see how drag and drop might work with some images on the left and right of the screen, and arranging it that the left hand images can be dragged and dropped onto the right hand images, with those images being playing cards &#8230; you score by guessing card denomination matches &#8220;across the divide&#8221;.<\/p>\n<p>So what events were relevant to the left hard (drag) side playing card image (HTML &#8220;img&#8221; elements) (in decreasing order of importance)?<\/p>\n<ul>\n<li><a target=_blank title='Event ondragstart information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondragstart.asp'>ondragstart<\/a>=&#8221;drag(event)&#8221; &#8230; where we can differentiate a drag and drop (of the first card chosen) from a click\/touch<\/li>\n<li><a target=_blank title='Event onclick information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onclick.asp'>onclick<\/a>=&#8221;adrag(event)&#8221; &#8230; to allow for platforms that do not support drag and drop<\/li>\n<li><a target=_blank title='Event ondragover information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondragover.asp'>ondragover<\/a>=&#8221;allowDrop(event)&#8221; &#8230; not called upon for non-mobile<\/li>\n<\/ul>\n<p>And what additional property?<\/p>\n<ul>\n<li><a target=_blank title='Property draggable information from w3schools' href='http:\/\/www.w3schools.com\/tags\/att_global_draggable.asp'>draggable<\/a>=&#8221;true&#8221;<\/li>\n<\/ul>\n<p>So what events were relevant to the right hard (drop) side playing card image (HTML &#8220;img&#8221; elements) (in decreasing order of importance)?<\/p>\n<ul>\n<li><a target=_blank title='Event onmouseover information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseover.asp'>onmouseover<\/a>=&#8221; if (!misdown &#038;&#038; pickedcard != &#8221;) { omo(event); } &#8221; &#8230; allows for identification of the dropped onto card\/image in a drag and drop event<\/li>\n<li><a target=_blank title='Event onmouseup information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseup.asp'>onmouseup<\/a>=&#8221;omu(event)&#8221; &#8230; allows for identification of the dropped onto card\/image in a drag and drop event<\/li>\n<li><a target=_blank title='Event onclick information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onclick.asp'>onclick<\/a>=&#8221;omu(event)&#8221; &#8230; to allow for platforms that do not support drag and drop to allow for identification of the right hand image<\/li>\n<li><a target=_blank title='Event ondrop information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondrop.asp'>ondrop<\/a>=&#8221;drop(event)&#8221; &#8230; not used for non-mobile<\/li>\n<\/ul>\n<p>One other event that would be interesting for the left hand images could be the <a target=_blank title='Event onmousemove information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmousemove.asp'>onmousemove<\/a> event.  Perhaps a hint for &#8220;freezing, cold, warm, hot, boiling&#8221; could be added?!   As it is we briefly reveal right hand cards, so after a shuffle before this happens, a correct guess moves your score on by &#8220;ten&#8221; rather than by the &#8220;one&#8221; scored for correct guesses after that.<\/p>\n<p>Think you may need to try a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/Canvas\/Game\/DragAndDrop_LeftToRight\/\" title='Click picture'>live run<\/a> to get what we mean.<\/p>\n<p>And here is the HTML and Javascript code for your perusal that you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/Canvas\/Game\/DragAndDrop_LeftToRight\/draganddrop_leftandright.html_GETME\" title=\"draganddrop_leftandright.html\">draganddrop_leftandright.html<\/a><\/p>\n<hr>\n<p id='hcmgdadt'>Previous relevant <a target=_blank title='' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/html-canvas-memories-game-drag-and-drop-tutorial\/'>HTML Canvas Memories Game Drag and Drop Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"HTML Canvas Memories Game Drag and Drop Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories_draganddrop.jpg\" title=\"HTML Canvas Memories Game Drag and Drop Tutorial\"   id='qwihcct' onmouseover=\"  this.src=this.src.replace('.gif','.xjpeg').replace('.jpeg','.xjpg').replace('.jpg','.xpng').replace('.png','.xgif').replace('.x','.');        \"   \/><\/a><p class=\"wp-caption-text\">HTML Canvas Memories Game Drag and Drop Tutorial<\/p><\/div>\n<p>The <a target=_blank title='HTML5 canvas element information from w3schools' href='http:\/\/www.w3schools.com\/html\/html5_canvas.asp'>Canvas<\/a> HTML element tag combines with some <a target=_blank title='Drag and drop information from w3schools' href='http:\/\/www.w3schools.com\/html\/html5_draganddrop.asp'>drag and drop<\/a> event Javascript logic today with our revised Memories Card Game we first developed some time back with <a target=_blank title='HTML\/Javascript Canvas Memories Card Game Primer Tutorial' href='#hjcmcgpt'>HTML\/Javascript Canvas Memories Card Game Primer Tutorial<\/a> as shown below.  In the same line of thinking was yesterday&#8217;s <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/html-colour-coded-tic-tac-toe-drag-and-drop-tutorial\/'>HTML Colour Coded Tic Tac Toe Drag and Drop Tutorial<\/a>.<\/p>\n<p>An HTML5 canvas element can be used as the container to draw graphics on the fly usually via the use of Javascript functions for rendering and event management.<\/p>\n<p>Today, with this topic, we&#8217;ve focussed on non-mobile platforms with the new drag and drop possibilities, but the old methods, with touch\/click, will still work for mobile platforms, and at a later date we may find room for &#8220;drag and drop&#8221; improvement with the mobile platforms as well &#8230; in the fullness of time &#8230; given the constraints of economic belt tightening &#8230; over the course of the current forward estimates.<\/p>\n<p>So what events, applied directly to the canvas element this time (incidentally, yesterday, this was not the case), were additionally of interest for non-mobile drag and drop functionality (in decreasing order of importance (where the already existant canvas &#8220;onclick&#8221; event remains the most important))?<\/p>\n<ul>\n<li><a target=_blank title='Event ondragstart information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondragstart.asp'>ondragstart<\/a>=&#8221;drag(event)&#8221; &#8230; where we can differentiate a drag and drop (of the first card chosen) from a click\/touch<\/li>\n<li><a target=_blank title='Event onmouseup information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmouseup.asp'>onmouseup<\/a>=&#8221;omu(event)&#8221; &#8230; where we can get the (x,y) of the second card chosen<\/li>\n<li><a target=_blank title='Event onmousemove information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_onmousemove.asp'>onmousemove<\/a>=&#8221;omo(event)&#8221; &#8230; not really important, but we can show it is a drag and drop up in the HTML h1 wording<\/li>\n<li><a target=_blank title='Event ondragover information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondragover.asp'>ondragover<\/a>=&#8221;allowDrop(event)&#8221; &#8230; not called upon for non-mobile<\/li>\n<li><a target=_blank title='Event ondrop information from w3schools' href='http:\/\/www.w3schools.com\/tags\/ev_ondrop.asp'>ondrop<\/a>=&#8221;drop(event)&#8221; &#8230; not used for non-mobile<\/li>\n<\/ul>\n<p>And what additional property?<\/p>\n<ul>\n<li><a target=_blank title='Property draggable information from w3schools' href='http:\/\/www.w3schools.com\/tags\/att_global_draggable.asp'>draggable<\/a>=&#8221;true&#8221;<\/li>\n<\/ul>\n<p>The end result on a non-mobile platform is that two cards separately clicked act very much like a drag and drop.  Our drag and drop does not draw the card flopping onto the other, but shows a change in the HTML h1 wording.<\/p>\n<p>Here is a link to some downloadable HTML programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html-GETME' title='memories.html'>memories.html<\/a> and how it changed for the tutorial below is described at <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html-GETME' title='memories.html'>this link<\/a>.<\/p>\n<p>And you may want to try a <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html' title='memories.html'>memories.html<\/a>live run<\/a> of this card game that tests your memory, and perseverance, at the very least.<\/p>\n<hr>\n<p id='hjcmcgpt'>Previous relevant <a target=_blank title='HTML\/Javascript Canvas Memories Card Game Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/htmljavascript-canvas-memories-card-game-primer-tutorial\/'>HTML\/Javascript Canvas Memories Card Game 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\/Games\/Memories\/memories.html\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"HTML\/Javascript Canvas Memories Card Game Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/Memories.jpg\" title=\"HTML\/Javascript Canvas Memories Card Game Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">HTML\/Javascript Canvas Memories Card Game Primer Tutorial<\/p><\/div>\n<p>The Canvas HTML element tag can be used as the container to draw graphics on the fly usually via the use of Javascript functions for rendering and event management.<\/p>\n<p>In today&#8217;s tutorial we mainly use the <a target=_blank href='http:\/\/www.w3schools.com\/tags\/canvas_drawimage.asp' title='HTML5 Canvas drawImage() method information from w3schools ... thanks'>drawImage<\/a> function to create a webpage where you can play the card game called Memories.<\/p>\n<p>You may want to read more at <a target=_blank title='HTML Canvas Reference' href='http:\/\/www.w3schools.com\/tags\/ref_canvas.asp'>HTML Canvas Reference<\/a> as a generic reference, or here, at the tutorial <a target=_blank title='javascript - How do I add a simple onClick event handler to a canvas element? - Stack Overflow' href='http:\/\/stackoverflow.com\/questions\/9880279\/how-do-i-add-a-simple-onclick-event-handler-to-a-canvas-element'>javascript &#8211; How do I add a simple onClick event handler to a canvas element? &#8211; Stack Overflow<\/a>.<\/p>\n<p>As you can imagine, this HTML canvas element, new to HTML5, can be very useful for some practical client-side web functionality.<\/p>\n<p>Link to some downloadable HTML programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html_GETME' title='memories.html'>memories.html<\/a>\n<\/p>\n<p>You&#8217;ll notice heavy use of the Javascript <a target=_blank title='Javascript Math.random() information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/jsref_random.asp'>Math.random()<\/a> function.<\/p>\n<p>We hope you enjoy this Memories Card Game tutorial <a target=_blank title='Canvas HTML element live run tutorial'  href=\"http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/memories.html\">live run<\/a>.<\/p>\n<p>Yes &#8230; you&#8217;ve reached the end &#8230; have a top supportive day full of happy memories!<\/p>\n<p><b>Stop Press<\/b><\/p>\n<p>As of the 5th June 2015 you may notice this game changed to add functionality, and that the live run above might support some drag and drop functionality on non-mobile platforms so you may want to compare this to an <a target=_blank title='Canvas HTML element live run tutorial'  href=\"http:\/\/www.rjmprogramming.com.au\/Games\/Memories\/index.html\">old live run<\/a> for how it worked before this date.<\/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='#d8104' onclick='var dv=document.getElementById(\"d8104\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=games-2\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d8104' 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='#d15259' onclick='var dv=document.getElementById(\"d15259\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=drag-and-drop\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d15259' 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='#d15299' onclick='var dv=document.getElementById(\"d15299\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=event-driven\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d15299' 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='#d15319' onclick='var dv=document.getElementById(\"d15319\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/?tag=table\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d15319' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s again (after yesterday&#8217;s HTML Drag and Drop Image Events Tutorial as shown below) talk about the client side of web applications, continuing on with our concentration on Javascript mouse events, to talk a bit about mouse events relevant to &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/html-table-events-for-colspan-and-rowspan-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":[12,14,37],"tags":[1580,281,400,401,576,652,997,1582,1238,1581,1319],"class_list":["post-15319","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-cell","tag-css","tag-event","tag-event-driven","tag-html","tag-javascript","tag-programming","tag-setinterval-youtube","tag-table","tag-table-cell","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/15319"}],"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=15319"}],"version-history":[{"count":11,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/15319\/revisions"}],"predecessor-version":[{"id":20068,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/15319\/revisions\/20068"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=15319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=15319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=15319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}