{"id":24879,"date":"2016-09-11T03:01:37","date_gmt":"2016-09-10T17:01:37","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=24879"},"modified":"2016-09-10T21:37:53","modified_gmt":"2016-09-10T11:37:53","slug":"legend-for-and-from-html-map-element-geolocation-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-geolocation-tutorial\/","title":{"rendered":"Legend for and from HTML Map Element Geolocation Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?whereami=whereami\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element Geolocation Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map_geolocation.jpg\" title=\"Legend for and from HTML Map Element Geolocation Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element Geolocation Tutorial<\/p><\/div>\n<p>We thought we might have finished with the thread of blog postings last ending with <a target=_blank title='Legend for and from HTML Map Element CSS Tutorial' href='#lfafhmect'>Legend for and from HTML Map Element CSS Tutorial<\/a> as shown below, but we hadn&#8217;t banked on the significance of the ideas of <a target=_blank title='Window.postMessage method information' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/postMessage'><i>window.postMessage<\/i><\/a>, and want to explore more about this.<\/p>\n<p>Last time talking about this, with <a target=_blank title='Window.postMessage method information' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/postMessage'><i>window.postMessage<\/i><\/a> work, we used it to have a webpage from another domain have its contents be included in a parent &#8220;cross-domain&#8221; HTML iframe element&#8217;s contents.  Well, that&#8217;s good and all, but is limiting the scope of what <a target=_blank title='Window.postMessage method information' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/postMessage'><i>window.postMessage<\/i><\/a> could be used for, don&#8217;t you think?<\/p>\n<p>So, today, it may seem a tad academic, but nonetheless throwing up some ideas for you to peruse, we hope, we use Javascript geolocation functions to show you the location of &#8220;parent&#8221; webpage and &#8220;child&#8221; HTML iframe webpage, and, of course, it being Javascript &#8220;client&#8221; geolocation being asked, we should get a close match, like right on top of each other &#8230; we got it on our Google Map Chart output to be here in a middle room of the house and the child being over by that same room&#8217;s window, making this laptop approximately 1.16 metres wide &#8230; we wish?!  But you know what we mean here, we hope.  It is more about your imagination to do with what you want to do here, as to how you apply these thoughts yourself.  We might involve serverside (ie. web server) information in blog postings to come, but, just for now see <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html-----GETME\" title='legend_via_map.htm'>legend_via_map.htm<\/a> (still helped out by &#8220;sometimes called&#8221; PHP child iframe coding logic in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.php_GETME\" title='legend_via_map.php'>legend_via_map.php<\/a>) changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html-----GETME\" title='legend_via_map.htm'>this way<\/a> as far as the parent goes.  We also adjusted one child called <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/wordpress\/livingroom.html--GETME\" title='livingroom.htm'>livingroom.htm<\/a> to understand what to do to accomodate the parent &#8230; &#8220;off Facebook now, Dad&#8221; &#8230; in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/\/wordpress\/livingroom.html--GETME\" title='livingroom.htm'>this way<\/a> via a call from the parent to the child like <a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom.htm%3Fwhereami%3Dwhere-am-i&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;whereami=where-am-i'>ESL Vocabulary &#8211; Living Room<\/a> (with geolocation).<\/li>\n<p>Here is a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?whereami=whereami\">geolocation live run<\/a> link versus a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm\">no geolocation live run<\/a> link.   Hope you try them out.<\/p>\n<hr>\n<p id='lfafhmect'>Previous relevant <a target=_blank title='Legend for and from HTML Map Element CSS Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-css-tutorial\/'>Legend for and from HTML Map Element CSS 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\/legend_via_map.htm\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element CSS Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map_css.jpg\" title=\"Legend for and from HTML Map Element CSS Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element CSS Tutorial<\/p><\/div>\n<p>Our &#8220;Legend for and from HTML Map Element&#8221; blog posting thread continues today wrapping up a few issues and fixing some bugs, discovering for the first time for us, a true use for multiple background images, so please read on for more information, from our list of today&#8217;s major changes below &#8230;<\/p>\n<ul>\n<li>CSS for Legend links to be brighter and the SVG overlay be brighter and wider and less opaque &#8230; ideas from <a target=_blank title='Useful link' href='https:\/\/www.midwinter-dg.com\/permalink-7-great-css-based-text-effects-using-the-text-shadow-property_2011-03-03.html'>this link<\/a> &#8230; thanks<\/li>\n<li>Feed more category four &#8220;HTML Url&#8221; candidates through PHP file_get_contents code<\/li>\n<li>Default becomes to sort any shown labels, but allow for the original order of shown labels to be chosen to be shown by the user, as required<\/li>\n<li>Fix <a target=_blank title='CSS background-repeat property information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_background-repeat.asp'><i>background-repeat: no-repeat;<\/i><\/a> desire (we had days ago) by adding a second white background image into the mix &#8230; ideas from <a target=_blank title='Useful link' href='http:\/\/www.css3.info\/preview\/multiple-backgrounds\/'>this link<\/a> &#8230; thanks<\/li>\n<li>Fix relative image Urls, that start with &#8220;\/&#8221;, and not containing &#8220;:&#8221;, logic to be prefixed by parent&#8217;s Url home directory, to effectively turn all relative Urls to absolute ones when attempting to use this image as a background image for a Legend component<\/li>\n<li>Allow for shape=&#8221;rect&#8221; and shape=&#8221;circle&#8221; HTML Map Area tag scenarios<\/li>\n<li>Allow for long &#8220;HTML Itself&#8221; entries by immediately running its underlying logic via the HTML textarea&#8217;s onchange event, rather than relying on a GET parameter that may cause a request-uri too long web server length overflow 441 error<\/li>\n<\/ul>\n<p> &#8230; so here are some newly possible, or newly okay to look at, executions of this web application &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Solar System' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2Fsolar_system.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Solar System<\/a> &#8230; which uses shape=&#8221;rect&#8221;<\/li>\n<li><a target=_blank title='NYS Compost Clearinghouse' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fcompost.css.cornell.edu%2Fmaps%2Fmanures.asp&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>NYS Compost Clearinghouse<\/a> &#8230; which uses shape=&#8221;circle&#8221; and is from a totally unrelated domain &#8230; so, thanks &#8230; and the other thing here is that you could take the HTML text off the popup window and feed it into the &#8220;HTML Itself&#8221; textarea (prefixing the Image src= with &#8220;http:\/\/compost.css.cornell.edu\/maps\/&#8221;) to see what happens as you tab out of the textarea<\/li>\n<\/ul>\n<p> &#8230; and remember our ill-prepared <i>window.postMessage<\/i> scenario at the associated but different domain &#8230;<\/p>\n<ul>\n<li><a target=_blank title='ESL Vocabulary - Living Room Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom_corner.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room Corner<\/a><\/li>\n<\/ul>\n<p> &#8230; and our <i>window.postMessage<\/i> scenarios at the associated but different domain &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Indigenous Australia Language Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Faboriginal_language_regions.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Indigenous Australia Language Map<\/a><\/li>\n<li><a target=_blank title='India State Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Findia_map.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>India State Map<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?g=sdhx&#038;url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Kitchen Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Fkitchen_corner.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Kitchen Corner<\/a><\/li>\n<\/ul>\n<p> &#8230; and our same-domain scenarios &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Indigenous Australia Language Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2FImageMap%2FLanguages%2Faboriginal_language_regions.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Indigenous Australia Language Map<\/a><\/li>\n<li><a target=_blank title='India State Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2Findia_map.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>India State Map<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2Flivingroom.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Kitchen Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FKitchenCorner%2Findex.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Kitchen Corner<\/a><\/li>\n<\/ul>\n<p>Today&#8217;s HTML and Javascript web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html----GETME\" title='legend_via_map.htm'>legend_via_map.htm<\/a> (still helped out by &#8220;sometimes called&#8221; PHP child iframe coding logic in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.php_GETME\" title='legend_via_map.php'>legend_via_map.php<\/a>) changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html----GETME\" title='legend_via_map.htm'>this way<\/a> for the issue list at the top of the blog posting, and you can try it out with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?whereami=whereami\" title='Click picture'>geolocation live run<\/a> link or <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm\" title='Click picture'>no geolocation live run<\/a> link.<\/p>\n<p>And so we think today that we can give this blog posting thread a rest for a while to turn towards other matters tomorrow.  Hope to see you then, or perhaps that you drill down further into today&#8217;s concepts by a revisit, perhaps, to yesterday&#8217;s <a title='Legend for and from HTML Map Element Ajax Tutorial' href='#lfafhmeat'>Legend for and from HTML Map Element Ajax Tutorial<\/a> as shown below.<\/p>\n<hr>\n<p id='lfafhmeat'>Previous relevant <a target=_blank title='Legend for and from HTML Map Element Ajax Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-ajax-tutorial\/'>Legend for and from HTML Map Element Ajax 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\/legend_via_map.htm\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element Ajax Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.gif\" title=\"Legend for and from HTML Map Element Ajax Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element Ajax Tutorial<\/p><\/div>\n<p>Okay, so we find ourselves at the &#8220;HTML Url&#8221; last category section for Urls that you do not have the wherewithall to control anything about, unlike yesterday&#8217;s controllable and co-operative arrangements using <i>window.postMessage<\/i> techniques that we outlined with <a title='Legend for and from HTML Map Element Cross-Domain Tutorial' href='#lfafhmecdt'>Legend for and from HTML Map Element Cross-Domain Tutorial<\/a> as shown below.<\/p>\n<p>Let&#8217;s just show this &#8220;HTML Url&#8221; inhouse categorization we explained last time, again &#8230;<\/p>\n<blockquote>\n<ul>\n<li>Urls of domain &#8220;http:\/\/www.rjmprogramming.com.au&#8221; &#8230; which function in all aspects sending and reading the details of the HTML map element via an HTML iframe element &#8230; and &#8230;<\/li>\n<li>Urls of local web server, in our case a MAMP one via &#8220;http:\/\/localhost:8888&#8221; ones &#8230; which function in all aspects sending and reading the details of the HTML map element via an HTML iframe element &#8230; and &#8230;<\/li>\n<li>Urls of domain &#8220;http:\/\/members.ozemail.com.au&#8221; (with Url containing &#8220;\/~mkuulma\/&#8221;) &#8230; which (used not to, but now) function, via the individualized code changes we talk about below, in all aspects sending and reading the details of the HTML map element via an HTML iframe element, and making use of &#8220;windows.postMessage&#8221; logic &#8230; and &#8230;<\/li>\n<li>Other Urls &#8230; that the best we can do, so far, with our blog post threads, is to open via <a target=_blank href='http:\/\/www.w3schools.com\/jsref\/met_win_open.asp' title='window.open information from w3schools'>&#8220;window.open&#8221;<\/a> popup window, but not be able to extract the HTML map element, in order to be able to create a Legend on the right hand side &#8230; more on this one into the future<\/li>\n<\/ul>\n<\/blockquote>\n<p> &#8230; and so it is that fourth category we are addressing today, and we address it, or attempt to, in the order &#8230;<\/p>\n<ul>\n<li>Ajax requests using CORS header considerations and we recommend further reading at this <a target=_blank title='Really useful link' href='http:\/\/stackoverflow.com\/questions\/10636611\/how-does-access-control-allow-origin-header-work'>really useful link<\/a> (whose proxy ideas we did not try) and <a target=_blank title='Another useful link' href='http:\/\/www.html5rocks.com\/en\/tutorials\/cors\/'>another useful link<\/a> and <a target=_blank title='Yet another useful link' href='http:\/\/wpquestions.com\/question\/showChrono\/id\/8737'>yet another useful link<\/a> and <a target=_blank title='Useful link' href='http:\/\/stackoverflow.com\/questions\/3595515\/xmlhttprequest-error-origin-null-is-not-allowed-by-access-control-allow-origin'>here<\/a> &#8230; thanks &#8230; then &#8230;<\/li>\n<li><a target=_blank title='JSON with Padding information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/JSONP'>JSONP<\/a> (JSON with Padding) jQuery techniques that we recommend further reading about at this <a target=_blank title='Really useful link' href='http:\/\/stackoverflow.com\/questions\/10636611\/how-does-access-control-allow-origin-header-work'>really useful link<\/a> &#8230; thanks again &#8230; then &#8230;<\/li>\n<li>PHP <a target=_blank title='file-get_contents PHP method information' href='http:\/\/php.net\/manual\/en\/function.file-get-contents.php'>file_get_contents<\/a> method &#8230; oh well! &#8230; the first resorting to server side code<\/li>\n<\/ul>\n<p> &#8230; all of which, as far as hooking up with an HTML iframe &#8220;presentation&#8221; go are dubious, so the raw HTML map containing webpage will more than likely get presented in a &#8220;window.open&#8221; popup window that will be a separate tab or window on mobile devices, but may sit over the place at the left where, up until now, we&#8217;ve happily been &#8220;iframing&#8221; away.<\/p>\n<p>You may recall yesterday&#8217;s <i>window.postMessage<\/i> web application missing the necessary <i>window.postMessage<\/i> logic?<\/p>\n<blockquote>\n<ul>\n<li><a target=_blank title='ESL Vocabulary - Living Room Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom_corner.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room Corner<\/a> &#8230; that does work <a target=_blank title='ESL Vocabulary - Living Room Corner' href='http:\/\/members.ozemail.com.au\/~mkuulma\/livingroom_corner.html'>not as an iframe child<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<p>You&#8217;ll probably find the left hand link above does work now, and in an HTML iframe &#8220;presentation&#8221; because of today&#8217;s new considerations.<\/p>\n<p>Today&#8217;s HTML and Javascript web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html---GETME\" title='legend_via_map.htm'>legend_via_map.htm<\/a> (now helped out by &#8220;sometimes called&#8221; PHP child iframe coding logic in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.php_GETME\" title='legend_via_map.php'>legend_via_map.php<\/a>) changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html---GETME\" title='legend_via_map.htm'>this way<\/a> and you can try it out with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm\" title='Click picture'>live run<\/a> link.  We hope you find this Ajax request and JSONP and PHP file_get_contents method ideas food for thought for your own endeavours.<\/p>\n<hr>\n<p id='lfafhmecdt'>Previous relevant <a target=_blank title='Legend for and from HTML Map Element Cross-Domain Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-cross-domain-tutorial\/'>Legend for and from HTML Map Element Cross-Domain 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\/legend_via_map.htm\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element Cross-Domain Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.png\" title=\"Legend for and from HTML Map Element Cross-Domain Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element Cross-Domain Tutorial<\/p><\/div>\n<p>We&#8217;re talking about cross-domain issues today, and the wonderful <a target=_blank title='Window.postMessage method information' href='https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/postMessage'><i>window.postMessage<\/i><\/a> messaging method to talk between parent HTML windows and child HTML <a target=_blank title='HTML iframe element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp'>iframe<\/a> windows that aren&#8217;t on the same domain.  But before you get too excited, it takes co-operation on both sides to make this happen &#8230; perhaps, <a target=_blank title='?' href='https:\/\/www.youtube.com\/watch?v=m7BgOYPNTlA'><i>Curb Your Enthusiasm<\/i><\/a> &#8230; finished &#8230; good &#8230; because this is pretty suave.<\/p>\n<p>So within the &#8220;HTML Url&#8221; input section workings of our latest &#8220;Legend of HTML Map Element&#8221; thread of blog posting web applications, after that last <a title='Legend for and from HTML Map Element Overlay Tutorial' href='#lfafhmeot'>Legend for and from HTML Map Element Overlay Tutorial<\/a> one, we now have the scenarios &#8230;<\/p>\n<ul>\n<li>Urls of domain &#8220;http:\/\/www.rjmprogramming.com.au&#8221; &#8230; which function in all aspects sending and reading the details of the HTML map element via an HTML iframe element &#8230; and &#8230;<\/li>\n<li>Urls of local web server, in our case a MAMP one via &#8220;http:\/\/localhost:8888&#8221; ones &#8230; which function in all aspects sending and reading the details of the HTML map element via an HTML iframe element &#8230; and &#8230;<\/li>\n<li>Urls of domain &#8220;http:\/\/members.ozemail.com.au&#8221; (with Url containing &#8220;\/~mkuulma\/&#8221;) &#8230; which (used not to, but now) function, via the individualized code changes we talk about below, in all aspects sending and reading the details of the HTML map element via an HTML iframe element, and making use of &#8220;windows.postMessage&#8221; logic &#8230; and &#8230;<\/li>\n<li>Other Urls &#8230; that the best we can do, so far, with our blog post threads, is to open via &#8220;window.open&#8221; popup window, but not be able to extract the HTML map element, in order to be able to create a Legend on the right hand side &#8230; more on this one into the future<\/li>\n<\/ul>\n<p>Today we&#8217;re concentrating on that third one and have had great help from that previous link and <a target=_blank title='Another useful link' href='https:\/\/davidwalsh.name\/window-postmessage'>this other link<\/a> &#8230; thanks &#8230; to construct working cross-domain child iframe examples of &#8230;<\/p>\n<ul>\n<li id='mylitodayy'><a target=_blank title='Indigenous Australia Language Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Faboriginal_language_regions.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Indigenous Australia Language Map<\/a> &#8230; <a style='text-decoration:underline;' onclick=\"document.getElementById('myiftodayy').src='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Faboriginal_language_regions.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on#myth'; document.getElementById('myiftodayy').style.display='block';   \">or below<\/a><br \/><iframe id='myiftodayy' title='Indigenous Australia Language Map' src='' style='width:100%;height:600px;display:none;'><\/iframe><\/li>\n<li><a target=_blank title='India State Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Findia_map.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>India State Map<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?g=sdhx&#038;url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Kitchen Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Fkitchen_corner.htm&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Kitchen Corner<\/a><\/li>\n<\/ul>\n<p> &#8230; as distinct from another web application without the cross-domain iframe to use <i>window.postMessage<\/i> logic, as for &#8230;<\/p>\n<ul>\n<li><a target=_blank title='ESL Vocabulary - Living Room Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fmembers.ozemail.com.au%2F%7Emkuulma%2Flivingroom_corner.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room Corner<\/a> &#8230; that does work <a target=_blank title='ESL Vocabulary - Living Room Corner' href='http:\/\/members.ozemail.com.au\/~mkuulma\/livingroom_corner.html'>not as an iframe child<\/a><\/li>\n<\/ul>\n<p><b><i>Stop Press<\/i><\/b><\/p>\n<p>As of recently the left link above <i>will<\/i> probably work, but it remains the case that its coding has not had any <i>window.postMessage<\/i> logic added to it.  We&#8217;ll be explaining this with tomorrow&#8217;s tutorial.<\/p>\n<p> &#8230; luckily for internet users worried about security breaches that can happen if care is not applied with this functionality.<\/p>\n<p>So, below, is the Javascript code applied, the same, for each of the child HTML iframe web applications as above &#8230;<\/p>\n<p><code><br \/>\n&lt;script type='text\/javascript'&gt;<br \/>\n\/\/ Thanks to https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Window\/postMessage with code below ...<br \/>\n<b><\/b><br \/>\n\/\/ Called sometime after postMessage is called<br \/>\nfunction receiveMessage(event) {<br \/>\n  \/\/ Do we trust the sender of this message?<br \/>\n  if (event.origin !== \"http:\/\/www.rjmprogramming.com.au\") {<br \/>\n    return;<br \/>\n  }<br \/>\n<b><\/b><br \/>\n  if (document.URL.indexOf(\"\/~mkuulma\/\") != -1) {<br \/>\n  if (event.source == window.opener) {<br \/>\n  if (event.data == \"hello there!\") {<br \/>\n<b><\/b><br \/>\n  \/\/ Assuming you've verified the origin of the received message (which<br \/>\n  \/\/ you must do in any case), a convenient idiom for replying to a<br \/>\n  \/\/ message is to call postMessage on event.source and provide<br \/>\n  \/\/ event.origin as the targetOrigin.<br \/>\n  event.source.postMessage(document.body.innerHTML + \" Hello RJM Programming!  the secret response \" +<br \/>\n                           \"is: av-a\" + \"-car-do!\",<br \/>\n                           event.origin);<br \/>\n  }<br \/>\n  }<br \/>\n  }<br \/>\n}<br \/>\n<b><\/b><br \/>\nif (window.addEventListener) {<br \/>\n  window.addEventListener(\"message\", receiveMessage, false);<br \/>\n} else if (window.attachEvent) {<br \/>\n  window.attachEvent(\"onmessage\", receiveMessage);<br \/>\n}<br \/>\n&lt;\/script&gt;<\/code><\/p>\n<p> &#8230; and in the parent HTML Javascript code &#8230;<\/p>\n<p><code><br \/>\n&lt;script type='text\/javascript'&gt;<br \/>\nvar popup=null, rawurl;<br \/>\nfunction receiveMessage(event) {<br \/>\n  \/\/ Do we trust the sender of this message?  (might be<br \/>\n  \/\/ different from what we originally opened, for example).<br \/>\n  if (event.origin !== \"http:\/\/members.ozemail.com.au\") {<br \/>\n    return;<br \/>\n  }<br \/>\n<b><\/b><br \/>\n  \/\/ event.source is popup<br \/>\n  \/\/ event.data is document.body.innerHTML + \" Hello RJM Programming!  the secret response is: av\" + \"-a-car-do!\"<br \/>\n  if (event.source == popup) {<br \/>\n  if (event.data.indexOf('av-a-' + 'car-do!') != -1) {<br \/>\n   rawhtml=event.data.split('&lt;\/html&gt;')[0] + '&lt;\/html&gt;';<br \/>\n   checkins();<br \/>\n  }<br \/>\n  }<br \/>\n}<br \/>\n<b><\/b><br \/>\nfunction crossdomainiframe() {<br \/>\n<b><\/b><br \/>\nvar thisurl=xrawurl;<br \/>\nif (popup) {<br \/>\n\/\/ When the popup has fully loaded, if not blocked by a popup blocker:<br \/>\n\/\/ This does nothing, assuming the window hasn't changed its location.<br \/>\npopup.postMessage(\"The user is 'admin' and the password is 'av-a-c\" + \"ar-do!'\",<br \/>\n                  \"http:\/\/members.ozemail.com.au\");<br \/>\n<b><\/b><br \/>\n\/\/ This will successfully queue a message to be sent to the popup, assuming<br \/>\n\/\/ the window hasn't changed its location.<br \/>\npopup.postMessage(\"hello there!\", \"http:\/\/members.ozemail.com.au\");<br \/>\n<b><\/b><br \/>\nif (window.addEventListener) {<br \/>\n  window.addEventListener(\"message\", receiveMessage, false);<br \/>\n} else if (window.attachEvent) {<br \/>\n  window.attachEvent(\"onmessage\", receiveMessage);<br \/>\n}<br \/>\n} else {<br \/>\n  setTimeout(crossdomainiframe, 2000);<br \/>\n}<br \/>\n}<br \/>\nfunction check_if(iois) {<br \/>\n  if (iois != null) {<br \/>\n    var aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n    if (aconto != null) {<br \/>\n     if (rawurl.indexOf('rjmprogramming.com.au') == -1) {<br \/>\n      popup=aconto;<br \/>\n      crossdomainiframe();<br \/>\n     } else {<br \/>\n     if (aconto.document) { aconto = aconto.document; }<br \/>\n     if (aconto.body != null) {<br \/>\n       rawhtml=aconto.body.innerHTML;<br \/>\n       checkins();<br \/>\n     }<br \/>\n     }<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n&lt;\/script&gt;<br \/>\n<\/code><\/p>\n<p> &#8230; and so we come to today&#8217;s HTML and Javascript web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html--GETME\" title='legend_via_map.htm'>legend_via_map.htm<\/a> that changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html--GETME\" title='legend_via_map.htm'>this way<\/a> and you can try it out with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm\" title='Click picture'>live run<\/a> link.  We hope you find this cross-domain information interesting.<\/p>\n<hr>\n<p id='lfafhmeot'>Previous relevant <a target=_blank title='Legend for and from HTML Map Element Overlay Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-overlay-tutorial\/'>Legend for and from HTML Map Element Overlay 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\/legend_via_map.htm\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element Overlay Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.jpeg\" title=\"Legend for and from HTML Map Element Overlay Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element Overlay Tutorial<\/p><\/div>\n<p>We&#8217;re continuing on from <a title='Legend for and from HTML Map Element Primer Tutorial' href='#lfafhmept'>Legend for and from HTML Map Element Primer Tutorial<\/a> as shown below, today, putting our Legend into context with respect to the underlying HTML map element&#8217;s contents, honing in on the &#8220;for&#8221; of today&#8217;s blog posting title, as distinct from that previous tutorial&#8217;s concentration on the &#8220;from&#8221;.  This is our second draft, but I&#8217;d be surprised if it&#8217;s our last, as it needs more work and functionality, perhaps.<\/p>\n<p>These changes to the HTML and Javascript code today involved &#8220;overlay&#8221; principles and the use of background images and their positioning with Javascript DOM dynamic CSS <a target=_blank title='CSS background-position information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_background-position.asp'>&#8220;background-position&#8221;<\/a> settings being made to the upcoming Legend elements, on the fly.<\/p>\n<p>Two of the usual &#8220;overlay&#8221; CSS  suspects coming into play were &#8230;<\/p>\n<ul>\n<li><a target=_blank title='CSS position:absolute information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_class_position.asp'>position:absolute<\/a> property<\/li>\n<li><a target=_blank title='CSS z-index information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/pr_pos_z-index.asp'>z-index<\/a><\/li>\n<li><a target=_blank title='CSS opacity property information from w3schools' href='http:\/\/www.w3schools.com\/cssref\/css3_pr_opacity.asp'>opacity<\/a><\/li>\n<\/ul>\n<p>We&#8217;ve called today&#8217;s HTML and Javascript web application <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html-GETME\" title='legend_via_map.htm'>legend_via_map.htm<\/a> that changed in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html-GETME\" title='legend_via_map.htm'>this way<\/a> and you can try it out with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm\" title='Click picture'>live run<\/a> link.<\/p>\n<p>We&#8217;ve collected second draft &#8220;cakes&#8221; of just clientside HTML and Javascript usage, and channeling that great HTML5 Rocks information from this <a target=_blank title='Great link' href='http:\/\/www.html5rocks.com\/en\/tutorials\/file\/dndfiles\/'>great link<\/a>, below &#8230;<\/p>\n<ul>\n<li id='mylitoday'><a target=_blank title='Indigenous Australia Language Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2FImageMap%2FLanguages%2Faboriginal_language_regions.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Indigenous Australia Language Map<\/a> &#8230; <a style='text-decoration:underline;' onclick=\"document.getElementById('myiftoday').src='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2FImageMap%2FLanguages%2Faboriginal_language_regions.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on#myth'; document.getElementById('myiftoday').style.display='block';   \">or below<\/a><br \/><iframe id='myiftoday' title='Indigenous Australia Language Map' src='' style='width:100%;height:600px;display:none;'><\/iframe><\/li>\n<li><a target=_blank title='India State Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2Findia_map.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>India State Map<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2Flivingroom.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Kitchen Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.htm?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FKitchenCorner%2Findex.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Kitchen Corner<\/a><\/li>\n<\/ul>\n<hr>\n<p id='lfafhmept'>Previous relevant <a target=_blank title='Legend for and from HTML Map Element Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-primer-tutorial\/'>Legend for and from HTML Map Element 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\/legend_via_map.html\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Legend for and from HTML Map Element Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.jpg\" title=\"Legend for and from HTML Map Element Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Legend for and from HTML Map Element Primer Tutorial<\/p><\/div>\n<p>Have you ever noticed the synergies between the HTML <a target=_blank title='HTML map element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_map.asp'>map<\/a> element and the HTML <a target=_blank title='HTML table information from w3schools' href='http:\/\/www.w3schools.com\/html\/html_tables.asp'>table<\/a> element?  What would happen if we, in broad brush terms &#8230;<\/p>\n<ul>\n<li>change &#8220;map&#8221; to &#8220;table&#8221; &#8230; and &#8230;<\/li>\n<li>change &#8220;<a target=_blank title='HTML area information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_area.asp'>area<\/a>&#8221; to &#8220;tr-td-a-<a target=_blank title='HTML svg information from w3schools' href='http:\/\/www.w3schools.com\/svg\/'>svg<\/a>&#8211;<a target=_blank title='HTML svg polygon information from w3schools' href='http:\/\/www.w3schools.com\/svg\/svg_polygon.asp'>polygon<\/a>&#8221; (&#8220;\/area&#8221; to &#8220;\/polygon-\/svg-\/a-\/td-\/tr&#8221;)<\/li>\n<\/ul>\n<p>?  Well, we think we&#8217;d be close to getting a &#8220;legend&#8221; of a map or some other type of data, perhaps.<\/p>\n<p>So we have started down the road towards this idea with our first draft of just clientside HTML and Javascript, and channeling that great HTML5 Rocks information from this <a target=_blank title='Great link' href='http:\/\/www.html5rocks.com\/en\/tutorials\/file\/dndfiles\/'>great link<\/a>, thanks, to allow you to &#8220;Browse&#8221; (button) for local HTML files, as well as the ability to browse an HTML url or just feed in the raw HTML into an HTML <a target=_blank title='HTML textarea tag information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_textarea.asp'>textarea<\/a> element we provide within an HTML form (method=GET and sending data back to this same web application).  And what is that web application?  We&#8217;ve called it <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html_GETME\" title='legend_via_map.html'>legend_via_map.html<\/a> and you can try it out with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html\" title='Click picture'>live run<\/a> link.  Ahead of time we &#8220;baked a cake&#8221; with some examples of usage below &#8230;<\/p>\n<ul>\n<li id='mylitodayx'><a target=_blank title='Indigenous Australia Language Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2FImageMap%2FLanguages%2Faboriginal_language_regions.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>Indigenous Australia Language Map<\/a> &#8230; <a style='text-decoration:underline;' onclick=\"document.getElementById('myiftodayx').src='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2FImageMap%2FLanguages%2Faboriginal_language_regions.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on#myth'; document.getElementById('myiftodayx').style.display='block';   \">or below<\/a><br \/><iframe id='myiftodayx' title='Indigenous Australia Language Map' src='' style='width:100%;height:600px;display:none;'><\/iframe><\/li>\n<li><a target=_blank title='India State Map' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FHTMLCSS%2Findia_map.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=on'>India State Map<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Living Room' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2Flivingroom.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Living Room<\/a><\/li>\n<li><a target=_blank title='ESL Vocabulary - Kitchen Corner' href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/legend_via_map.html?url=http%3A%2F%2Fwww.rjmprogramming.com.au%2FKitchenCorner%2Findex.html&#038;tarea=&#038;submit=Create+Legend+for+HTML+Map+Data&#038;showlabel=off'>ESL Vocabulary &#8211; Kitchen Corner<\/a><\/li>\n<\/ul>\n<p>If you&#8217;re looking to create your own HTML map web application we highly recommend the use of the great <a target=_blank title='Mobilefish Image map Creator functionality ... thanks' href='http:\/\/www.mobilefish.com\/services\/image_map\/image_map.php'>Mobilefish &#8220;create your own image map&#8221; functionality<\/a>.<\/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='#d24615' onclick='var dv=document.getElementById(\"d24615\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/map\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24615' 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='#d24663' onclick='var dv=document.getElementById(\"d24663\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/overlay\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24663' 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='#d24688' onclick='var dv=document.getElementById(\"d24688\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/cross-domain\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24688' 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='#d24714' onclick='var dv=document.getElementById(\"d24714\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/ajax\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24714' 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='#d24750' onclick='var dv=document.getElementById(\"d24750\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/css\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24750' 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='#d24879' onclick='var dv=document.getElementById(\"d24879\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/geolocation\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24879' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>We thought we might have finished with the thread of blog postings last ending with Legend for and from HTML Map Element CSS Tutorial as shown below, but we hadn&#8217;t banked on the significance of the ideas of window.postMessage, and &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/legend-for-and-from-html-map-element-geolocation-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":[69,127,1993,1995,277,281,429,452,483,1996,576,578,587,652,663,1992,745,1817,775,800,894,932,967,997,1997,1226,1238,1319,1433,1994],"class_list":["post-24879","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-ajax","tag-background-image","tag-browse","tag-cors","tag-cross-domain","tag-css","tag-file_get_contents","tag-form","tag-geolocation","tag-header","tag-html","tag-html5","tag-iframe","tag-javascript","tag-jquery","tag-legend","tag-map","tag-message","tag-messaging","tag-mobilefish","tag-overlay","tag-php","tag-popup","tag-programming","tag-request","tag-svg","tag-table","tag-tutorial","tag-window-open","tag-window-postmessage"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24879"}],"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=24879"}],"version-history":[{"count":9,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24879\/revisions"}],"predecessor-version":[{"id":24888,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24879\/revisions\/24888"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=24879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=24879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=24879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}