{"id":57489,"date":"2022-11-16T03:01:48","date_gmt":"2022-11-15T17:01:48","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=57489"},"modified":"2023-01-02T08:10:52","modified_gmt":"2023-01-01T22:10:52","slug":"responsive-web-design-landing-page-image-map-onresize-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/responsive-web-design-landing-page-image-map-onresize-tutorial\/","title":{"rendered":"Responsive Web Design Landing Page Image Map Onresize Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Responsive Web Design Landing Page Image Map Onresize Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/landing_page_onresize_fix.gif\" title=\"Responsive Web Design Landing Page Image Map Onresize Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Responsive Web Design Landing Page Image Map Onresize Tutorial<\/p><\/div>\n<p>We try to not make the <a target=_blank title='Onresize event information from W3schools' href='https:\/\/www.w3schools.com\/jsref\/event_onresize.asp'><i>onresize<\/i><\/a> event a &#8220;second class citizen&#8221; in our thinking here, and we wait for the day we think about it as a matter of course, and we&#8217;ll know we&#8217;ve arrived at some representation of <a target=_blank title='?' href='https:\/\/www.google.com\/search?q=1000+hours+of+practice&#038;rlz=1C5CHFA_enAU973AU973&#038;oq=1000+hours+of+&#038;aqs=chrome.1.69i57j0i512l9.9485j0j4&#038;sourceid=chrome&#038;ie=UTF-8'>1000 hours of practice<\/a> type of milestone, perhaps?!  But, with the work of <a title='Responsive Web Design Landing Page Image Map Tutorial' href='#rwdlpimt'>Responsive Web Design Landing Page Image Map Tutorial<\/a> we know we could improve the user experience of those using One Image Website clicking functionality on our new Landing Page, by keeping the functionality intact, particularly at the right hand side, by acting when the user resizes the window using <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/index.php--GETME\" title=\"index.php\">the changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php--GETME\" title=\"index.php\">index.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php\" title=\"Click picture\">Landing Page<\/a>, <font color=blue>as per<\/font>, the Javascript onresize event logic &#8230;<\/p>\n<p><code><br \/>\n  <font color=blue>function onr() {<br \/>\n    if (onrok) {<br \/>\n    if (eval( Math.abs(eval('' + window.innerHeight) - eval('' + csh) ) + Math.abs( eval('' + window.innerWidth) - eval('' + csw) )) &gt;= 200) {<br \/>\n     if (document.getElementById('divimif').innerHTML != '') {<br \/>\n      document.getElementById('divimif').innerHTML='';<br \/>\n      csh='-1';<br \/>\n      onl();<br \/>\n      return;<br \/>\n     }<br \/>\n    }<br \/>\n    if (eval( Math.abs(eval('' + window.innerHeight) - eval('' + csh) ) + Math.abs( eval('' + window.innerWidth) - eval('' + csw) )) &gt;= 100) {<br \/>\n     if (document.getElementById('divimif').innerHTML != '') {<br \/>\n      csw='' + window.innerWidth;<br \/>\n      csh='' + window.innerHeight;<br \/>\n     }<br \/>\n    }<br \/>\n    }<br \/>\n  }<\/font><br \/>\n<br \/>\n  function onl() {<br \/>\n    onrok=false;<br \/>\n    if (eval('' + screen.width) &lt;= 420 && ('' + csw).indexOf('-') != -1) {<br \/>\n       \/\/alert(screen.width);<br \/>\n       document.getElementById('topspan').innerHTML=document.getElementById('topspan').innerHTML.replace('RJM Programming', 'RJM&lt;\/h1&gt;&lt;h1&gt;Programming').replace(\/\\&lt;\\\/hJUNK1\/g, '&lt;\/h2');<br \/>\n    } \/\/else if (eval('' + screen.width) &lt;= 480) {<br \/>\n       \/\/alert('0' + screen.width);<br \/>\n    \/\/}<br \/>\n    if (('' + csh).indexOf('-') != -1) {<br \/>\n      csw='' + screen.width;<br \/>\n      csh='' + screen.height;<br \/>\n      lastcsw=csw;<br \/>\n      lastcsh=csh;<br \/>\n    }<br \/>\n<br \/>\n    var myiz=document.getElementById('ifzero').getBoundingClientRect();<br \/>\n    var myhr=document.getElementById('myheader').getBoundingClientRect();<br \/>\n    var myh=eval('' + myhr.height);<br \/>\n    var myt=eval('' + myhr.top);<br \/>\n    var widthleft=eval(eval('' + myiz.left) - eval('' + myhr.left));<br \/>\n    var widthmiddle=eval('' + myiz.width);<br \/>\n    var widthright=eval(eval('' + myhr.width) - eval('' + myiz.width) - eval('' + myiz.left));<br \/>\n    if (document.getElementById('navTop')) {<br \/>\n      var myalthr=document.getElementById('navTop').getBoundingClientRect();<br \/>\n      myh-=eval('' + myalthr.height);<br \/>\n      myt=eval('' + myalthr.height);<br \/>\n    }<br \/>\n    var heighttop=eval(eval('' + myiz.top) - eval('' + myt));<br \/>\n    var heightmiddle=eval('' + myiz.height);<br \/>\n    var heightbottom=eval(eval('' + myh) - eval('' + myiz.height)); \/\/ - eval('' + myiz.top));<br \/>\n    if (window.parent != window) {<br \/>\n    myh=myh;<br \/>\n    } else if (('' + window.opener).replace(\/^undefined\/g,'').replace(\/^null\/g,'')) {<br \/>\n    myh=myh;<br \/>\n    } else if (navigator.userAgent.match(\/Android|BlackBerry|iPhone|iPaJUNKd|iPod|Opera Mini|IEMobile\/i)) {<br \/>\n    myh=myh;<br \/>\n    } else {<br \/>\n    document.getElementById('myimif').src=document.URL.split('?')[0].split('#')[0] + '?left=' + myhr.left + '&top=' + myt + '&width=' + myhr.width + '&height=' + myh + '&ifleft=' + myiz.left + '&iftop=' + myiz.top + '&ifwidth=' + myiz.width + '&ifheight=' + myiz.height + '&widthleft=' + widthleft + '&widthmiddle=' + widthmiddle + '&widthright=' + widthright + '&heighttop=' + heighttop + '&heightmiddle=' + heightmiddle + '&heightbottom=' + heightbottom;<br \/>\n    setTimeout(imbit, 5000);<br \/>\n    }<br \/>\n    onrok=true;<br \/>\n  }<br \/>\n<br \/>\n<\/code><\/p>\n<p> &#8230; which is quite often efficient calling <i>onload<\/i> event logic in its workflow.<\/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\/responsive-web-design-landing-page-image-map-onresize-tutorial\/'>New Responsive Web Design Landing Page Image Map Tutorial<\/a>.<\/p-->\n<hr>\n<p id='rwdlpimt'>Previous relevant <a target=_blank title='Responsive Web Design Landing Page Image Map Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/responsive-web-design-landing-page-image-map-tutorial\/'>Responsive Web Design Landing Page Image Map Onresize Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Responsive Web Design Landing Page Image Map Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/responsive_more_image_map.jpg\" title=\"Responsive Web Design Landing Page Image Map Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Responsive Web Design Landing Page Image Map Tutorial<\/p><\/div>\n<p>The recent <a title='Responsive Web Design Landing Page Incarnation Tutorial' href='#rwdlpit'>Responsive Web Design Landing Page Incarnation Tutorial<\/a> said &#8230;<\/p>\n<blockquote cite=''><p>\nSo, why keep the old way?  Well, we packed the &#8220;old way&#8221; with content rich functionality, and do not want to ditch that yet, but maybe over time?!\n<\/p><\/blockquote>\n<p>We&#8217;re just <i>over<\/i> time, aren&#8217;t you?!  And so, we arrive at a <i>long planned for<\/i> tilt at <a target=_blank title='Image Map information from W3schools' href='https:\/\/www.w3schools.com\/html\/html_images_imagemap.asp'>Image Map<\/a> functionality that we often turn to <a target=_blank title='Mobilefish.Com and its excellent Image Map Creation' href='https:\/\/www.mobilefish.com\/services\/image_map\/image_map.php'>Mobilefish.Com and its excellent Image Map Creation<\/a> to help us out &#8230; but not today?!  Why not?  We have a funny set of needs, they being &#8230;<\/p>\n<ul>\n<li>our Image Map&#8217;s image will have a variable set of width x height dimensions &#8230;<\/li>\n<li>our Image Map&#8217;s image will be transparent<\/li>\n<li>our Image Map needs to have a hole left aside inside it where the functionality that originally existed <font size=1>(and pointed to WordPress Blog content like you are reading)<\/font>, is still working<\/li>\n<\/ul>\n<p> &#8230; the last condition of which we realized, down the track, required us to create four Image Maps.   But &#8230; but &#8230; <a target=_blank title='?' href='http:\/\/www.rjmprogramming.com.au\/PHP\/nala.php' title='Nala'>Nala<\/a> hears you say?!<\/p>\n<p>Yes, we can reference the one image, in its data URL guise, as a smaller, or not, version of itself, by specifying CSS properties &#8230;<\/p>\n<ul>\n<li>position:absolute; <font size=1>(our usual for overlay scenarios)<\/font><\/li>\n<li>z-index:56; <font size=1>(for both transparent image and its associated Image Map &#8230; more on this later)<\/font><\/li>\n<li>left <font size=1>(to appropriately position in X to be in the relevant section of dark green Image Map overlaying in the Landing Page)<\/font><\/li>\n<li>top <font size=1>(to appropriately position in Y to be in the relevant section of dark green Image Map overlaying in the Landing Page)<\/font><\/li>\n<li><i>width<\/i> <font size=1>(which will be up to the transparent image width)<\/font><\/li>\n<li><i>height<\/i> <font size=1>(which will be up to the transparent image height)<\/font><\/li>\n<\/ul>\n<p> &#8230; and no concern about <i>opacity<\/i> given the transparent image and <i>z-index<\/i> considerations, here.<\/p>\n<p>So, how can we involve a transparent image here?   Well, that is where the new <i>Responsive Web Design Landing Page<\/i> being PHP, though up to today it had contained no PHP, is in our favour.  We can use PHP&#8217;s <a target=_blank title='GD and Image Functions' href='http:\/\/php.net\/manual\/en\/ref.image.php'>GD<\/a> <font color=blue>to create one<\/font>, <font color=purple>grab its associated data URL<\/font> and <font color=brown>tidy up<\/font>, and constructing the four image and associated Image Map HTML elements populated, in its &#8220;child iframe&#8221;, and <font color=red>sending back up<\/font> into the &#8220;parent webpage&#8217;s&#8221; new &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\n&lt;div id=divimif&gt;&lt;\/div&gt;<br \/>\n&lt;iframe style='display:none;' id=myimif src=&gt;&lt;\/iframe&gt;<br \/>\n<\/code><br \/>\n&#8220;; ?&gt; <\/p>\n<p> &#8230; placed at the bottom of the Landing Page body element, and used <font color=darkgreen>in the changed<\/font> document.body <i>onload<\/i> event Javascript function &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\n  function onl() {<br \/>\n    if (eval('' + screen.width) &lt;= 420) {<br \/>\n       \/\/alert(screen.width);<br \/>\n       document.getElementById('topspan').innerHTML=document.getElementById('topspan').innerHTML.replace('RJM Programming', 'RJM&lt;\/h1&gt;&lt;h1&gt;Programming').replace(\/\\&lt;\\\/hJUNK1\/g, '&lt;\/h2');<br \/>\n    } \/\/else if (eval('' + screen.width) &lt;= 480) {<br \/>\n       \/\/alert('0' + screen.width);<br \/>\n    \/\/}<br \/>\n    <font color=darkgreen>var myiz=document.getElementById('ifzero').getBoundingClientRect();<br \/>\n    var myhr=document.getElementById('myheader').getBoundingClientRect();<br \/>\n    var myh=eval('' + myhr.height);<br \/>\n    var myt=eval('' + myhr.top);<br \/>\n    var widthleft=eval(eval('' + myiz.left) - eval('' + myhr.left));<br \/>\n    var widthmiddle=eval('' + myiz.width);<br \/>\n    var widthright=eval(eval('' + myhr.width) - eval('' + myiz.width) - eval('' + myiz.left));<br \/>\n    if (document.getElementById('navTop')) {<br \/>\n      var myalthr=document.getElementById('navTop').getBoundingClientRect();<br \/>\n      myh-=eval('' + myalthr.height);<br \/>\n      myt=eval('' + myalthr.height);<br \/>\n    }<br \/>\n    var heighttop=eval(eval('' + myiz.top) - eval('' + myt));<br \/>\n    var heightmiddle=eval('' + myiz.height);<br \/>\n    var heightbottom=eval(eval('' + myh) - eval('' + myiz.height)); \/\/ - eval('' + myiz.top));<br \/>\n    if (window.parent != window) {<br \/>\n    myh=myh;<br \/>\n    } else if (('' + window.opener).replace(\/^undefined\/g,'').replace(\/^null\/g,'')) {<br \/>\n    myh=myh;<br \/>\n    } else if (navigator.userAgent.match(\/Android|BlackBerry|iPhone|iPaJUNKd|iPod|Opera Mini|IEMobile\/i)) {<br \/>\n    myh=myh;<br \/>\n    } else {<br \/>\n    document.getElementById('myimif').src=document.URL.split('?')[0].split('#')[0] + '?left=' + myhr.left + '&top=' + myt + '&width=' + myhr.width + '&height=' + myh + '&ifleft=' + myiz.left + '&iftop=' + myiz.top + '&ifwidth=' + myiz.width + '&ifheight=' + myiz.height + '&widthleft=' + widthleft + '&widthmiddle=' + widthmiddle + '&widthright=' + widthright + '&heighttop=' + heighttop + '&heightmiddle=' + heightmiddle + '&heightbottom=' + heightbottom;<br \/>\n    setTimeout(imbit, 5000);<br \/>\n    }<\/font><br \/>\n  }<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p> &#8230; to call on that new PHP &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\n  if (isset($_GET['left']) && isset($_GET['top']) && isset($_GET['width']) && isset($_GET['height'])) {<br \/>\n    $uw=\"\";<br \/>\n    $postuw=\"\";<br \/>\n    $uw1=\"\";<br \/>\n    $postuw1=\"\";<br \/>\n    $uw2=\"\";<br \/>\n    $postuw2=\"\";<br \/>\n    $uw3=\"\";<br \/>\n    $postuw3=\"\";<br \/>\n    if (isset($_GET['widthleft']) && isset($_GET['widthmiddle']) && isset($_GET['widthright']) && isset($_GET['heighttop']) && isset($_GET['heightmiddle']) && isset($_GET['heightbottom'])) {<br \/>\n      $uw=\" usemap=#workmap\";<br \/>\n      $uw1=\" usemap=#workmap1\";<br \/>\n      $uw2=\" usemap=#workmap2\";<br \/>\n      $uw3=\" usemap=#workmap3\";<br \/>\n<br \/>\n      $postuw=\"&lt;map name=workmap style=z-index:56;&gt;\";<br \/>\n      $postuw1=\"&lt;map name=workmap1 style=z-index:56;&gt;\";<br \/>\n      $postuw2=\"&lt;map name=workmap2 style=z-index:56;&gt;\";<br \/>\n      $postuw3=\"&lt;map name=workmap3 style=z-index:56;&gt;\";<br \/>\n<br \/>\n      $postuw.=\"&lt;area shape=rect title=Ephemeral onmouseover=omoiset(1); onmouseout=omoiset(-2); coords=0,0,\" . explode('.',$_GET['widthleft'])[0] . \",\" . explode('.',$_GET['heighttop'])[0] . \" alt=LeftTop onclick=ouralert(1); target=_blank href=\/\/www.rjmprogramming.com.au\/ephemeral \/&gt;\";<br \/>\n      $postuw.=\"&lt;area shape=rect title=StreetArt onmouseover=omoiset(2); onmouseout=omoiset(-2); coords=\" . explode('.',$_GET['widthleft'])[0] . \",0,\" . explode('.',($_GET['widthleft'] + $_GET['widthmiddle']))[0] . \",\" . explode('.',$_GET['heighttop'])[0] . \" alt=CenterTop onclick=ouralert(2); target=_blank href=\/\/www.rjmprogramming.com.au\/streetart \/&gt;\";<br \/>\n      $postuw.=\"&lt;area shape=rect title=TheCommute onmouseover=omoiset(3); onmouseout=omoiset(-2); coords=\" . explode('.',($_GET['widthleft'] + $_GET['widthmiddle']))[0] . \",0,\" . explode('.',$_GET['width'])[0] . \",\" . explode('.',$_GET['heighttop'])[0] . \" alt=RightTop onclick=ouralert(3);  target=_blank href=\/\/www.rjmprogramming.com.au\/thecommute \/&gt;\";<br \/>\n<br \/>\n      $postuw1.=\"&lt;area id=area4 title=? onmouseover=omoiset(4); onmouseout=omoiset(-1); shape=rect coords=0,0,\" . explode('.',$_GET['widthleft'])[0] . \",\" . explode('.',(0 + $_GET['heightmiddle']))[0] . \" alt=LeftMiddle onclick=ouralert(4); target=_blank nohref \/&gt;\";<br \/>\n      $postuw2.=\"&lt;area id=area6 title=? onmouseover=omoiset(6); onmouseout=omoiset(-1); shape=rect coords=0,0,\" . explode('.',$_GET['widthright'])[0] . \",\" . explode('.',(0 + $_GET['heightmiddle']))[0] . \" alt=RightMiddle onclick=ouralert(6); target=_blank nohref \/&gt;\";<br \/>\n<br \/>\n      $postuw3.=\"&lt;area shape=rect title=InnerBurbs onmouseover=omoiset(7); onmouseout=omoiset(-2); coords=0,0,\" . explode('.',$_GET['widthleft'])[0] . \",\" . explode('.',$_GET['heightbottom'])[0] . \" alt=LeftBottom onclick=ouralert(7);  target=_blank href=\/\/www.rjmprogramming.com.au\/pyrmontultimo \/&gt;\";<br \/>\n      $postuw3.=\"&lt;area shape=rect title=Bygone onmouseover=omoiset(8); onmouseout=omoiset(-2); coords=\" . explode('.',$_GET['widthleft'])[0] . \",0,\" . explode('.',($_GET['widthleft'] + $_GET['widthmiddle']))[0] . \",\" . explode('.',$_GET['heightbottom'])[0] . \" alt=CenterBottom onclick=ouralert(8);  target=_blank href=\/\/www.rjmprogramming.com.au\/bygone \/&gt;\";<br \/>\n      $postuw3.=\"&lt;area shape=rect title=West onmouseover=omoiset(9); onmouseout=omoiset(-2); coords=\" . explode('.',($_GET['widthleft'] + $_GET['widthmiddle']))[0] . \",0,\" . explode('.',$_GET['width'])[0] . \",\" . explode('.',$_GET['heightbottom'])[0] . \" alt=RightBottom onclick=ouralert(9);  target=_blank href=\/\/www.rjmprogramming.com.au\/thewest \/&gt;\";<br \/>\n<br \/>\n      $postuw.=\"&lt;\/map&gt;\";<br \/>\n      $postuw1.=\"&lt;\/map&gt;\";<br \/>\n      $postuw2.=\"&lt;\/map&gt;\";<br \/>\n      $postuw3.=\"&lt;\/map&gt;\";<br \/>\n    }<br \/>\n<br \/> <br \/>\n    <font color=blue>\/\/ Create a transparent image thanks to https:\/\/www.php.net\/manual\/en\/function.imagecolortransparent.php<br \/>\n    $im = imagecreatetruecolor($_GET['width'], $_GET['height']);<br \/>\n    $red = imagecolorallocate($im, 255, 0, 0);<br \/>\n    $black = imagecolorallocate($im, 0, 0, 0);<br \/>\n<br \/>\n    \/\/ Make the background transparent<br \/>\n    imagecolortransparent($im, $black);<br \/>\n<br \/>\n    \/\/ Save the image<br \/>\n    $udirnameprebimg='\/tmp\/imagecolortransparent.png';<br \/>\n    imagepng($im, $udirnameprebimg);<\/font><br \/>\n    <font color=purple>$duis='data:image\/' . str_replace('jpg','jpeg',strtolower(explode('.',$udirnameprebimg)[-1 + sizeof(explode('.',$udirnameprebimg))])) . ';base64,' . base64_encode(file_get_contents($udirnameprebimg));<\/font><br \/>\n    <font color=brown>imagedestroy($im);<br \/>\n    unlink($udirnameprebimg);<\/font><br \/>\n<br \/> <br \/>\n    <font color=red>echo \"&lt;html&gt;<br \/>\n&lt;body onload=\\\"parent.document.getElementById('divimif').innerHTML='&lt;img id=myimg style=height:\" . $_GET['heighttop'] . \"px;z-index:56;position:absolute;top:\" . $_GET['top'] . \"px;left:\" . $_GET['left'] . \"px;width:\" . $_GET['width'] . \"px; src=\" . $duis . \"\" . $uw . \"&gt;&lt;\/img&gt;\" . $postuw . \"&lt;img id=myimg1 style=height:\" . $_GET['heightmiddle'] . \"px;z-index:56;position:absolute;top:\" . explode('.',($_GET['top'] + $_GET['heighttop']))[0] . \"px;left:\" . $_GET['left'] . \"px;width:\" . $_GET['widthleft'] . \"px; src=\" . $duis . \"\" . $uw1 . \"&lt;&gt;\/img&gt;\" . $postuw1 . \"&lt;img id=myimg2 style=height:\" . $_GET['heightmiddle'] . \"px;z-index:56;position:absolute;top:\" . explode('.',($_GET['top'] + $_GET['heighttop']))[0] . \"px;left:\" . explode('.',($_GET['width'] - $_GET['widthright']))[0] . \"px;width:\" . $_GET['widthright'] . \"px; src=\" . $duis . \"\" . $uw2 . \"&gt;&lt;\/img&gt;\" . $postuw2 . \"&lt;img id=myimg3 style=height:\" . explode('.',($_GET['height'] - $_GET['heighttop'] - $_GET['heightmiddle']))[0] . \"px;z-index:56;position:absolute;top:\" . explode('.',($_GET['top'] + $_GET['heighttop'] + $_GET['heightmiddle']))[0] . \"px;left:\" . $_GET['left'] . \"px;width:\" . $_GET['width'] . \"px; src=\" . $duis . \"\" . $uw3 . \"&gt;&lt;\/img&gt;\" . $postuw3 . \"'; \\\"&gt;&lt;\/body&gt;<br \/>\n&lt;\/html&gt;\";<\/font><br \/>\n    exit;<br \/>\n  }<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p> &#8230; and once setup, helped out by new Javascript, as per &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\n  var urls=['', '', '', ' ', '', ' ', '', '', ''];<br \/>\n  var omoi=-1;<br \/>\n  var isrelp=false;<br \/>\n  <br \/>\n  function postomoiset() {<br \/>\n    if (isrelp) {<br \/>\n    isrelp=false;<br \/>\n    if (omoi == 4 || omoi == 6) {<br \/>\n      var wasomoi=omoi;<br \/>\n      omoi=-1;<br \/>\n      ouralert(wasomoi);<br \/>\n    }<br \/>\n    }<br \/>\n  }<br \/>\n  <br \/>\n  function omoiset(jnnum) {<br \/>\n    if (eval('' + jnnum) == -1) {<br \/>\n    omoi=jnnum;<br \/>\n    \/\/document.title='omoi=' + omoi;<br \/>\n    isrelp=false;<br \/>\n    \/\/setTimeout(postomoiset, 8000);<br \/>\n    } else if (eval('' + jnnum) == -2) {<br \/>\n    if (omoi != 4 && omoi != 6) {<br \/>\n     omoi=jnnum;<br \/>\n     \/\/document.title='omoi=' + omoi;<br \/>\n     isrelp=false;<br \/>\n     \/\/setTimeout(postomoiset, 8000);<br \/>\n    }<br \/>\n    } else {<br \/>\n    omoi=jnnum;<br \/>\n    \/\/document.title='omoi=' + omoi;<br \/>\n    if (omoi != 4 && omoi != 6) {<br \/>\n    isrelp=false;<br \/>\n    } else {<br \/>\n    isrelp=true;<br \/>\n    \/\/document.title='omoi=' + omoi + '|';<br \/>\n    setTimeout(postomoiset, 8000);<br \/>\n    }<br \/>\n    }<br \/>\n  }<br \/>\n    <br \/>\n  function ouralert(innum) {<br \/>\n    var ans='';<br \/>\n    switch ('' + innum) {<br \/>\n      case '1':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '2':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '3':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '4':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)  Eg. https:\/\/www.rjmprogramming.com.au\/slideshow.html', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '5':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '6':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)  Eg. https:\/\/www.rjmprogramming.com.au\/plus\/', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '7':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', urls[eval(-1 + eval('' + innum))].trim());<br \/>\n       }<br \/>\n       break;<br \/>\n      case '8':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', '');<br \/>\n       }<br \/>\n       break;<br \/>\n      case '9':<br \/>\n       if (urls[eval(-1 + eval('' + innum))] != '') {<br \/>\n          ans=prompt('Want to go anywhere? (To save for future append a blank.)', '');<br \/>\n       }<br \/>\n       break;<br \/>\n      default:<br \/>\n       break;<br \/>\n    }<br \/>\n    if (!ans) { ans=''; }<br \/>\n    if (ans != '') {<br \/>\n      window.open(ans.trim(), '_blank');<br \/>\n      if (ans != ans.trim()) {<br \/>\n        window.localStorage.setItem('area' + innum + 'url', encodeURIComponent(ans.trim()));<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n <br \/> <br \/>\n    function imbit() {<br \/>\n    \/\/if (document.getElementById('myimg')) {<br \/>\n    \/\/  document.getElementById('myimg').style.border='5px dashed purple';<br \/>\n    \/\/}<br \/>\n    if (('' + window.localStorage.getItem('area4url')).replace(\/^undefined\/g,'').replace(\/^null\/g,'') != '') {<br \/>\n      urls[3]=decodeURIComponent('' + window.localStorage.getItem('area4url'));<br \/>\n      document.getElementById('area4').title=decodeURIComponent('' + window.localStorage.getItem('area4url')) + '# ... long hover of at least 8 seconds for chance to change';<br \/>\n      document.getElementById('area4').href=decodeURIComponent('' + window.localStorage.getItem('area4url'));<br \/>\n      document.getElementById('area4').onclick=function(){ omoiset=-1; urls[3]=urls[3]; }<br \/>\n      \/\/document.getElementById('area4').ondblclick=function(){ ouralert(4); }<br \/>\n    }<br \/>\n    if (('' + window.localStorage.getItem('area6url')).replace(\/^undefined\/g,'').replace(\/^null\/g,'') != '') {<br \/>\n      urls[5]=decodeURIComponent('' + window.localStorage.getItem('area6url'));<br \/>\n      document.getElementById('area6').title=decodeURIComponent('' + window.localStorage.getItem('area6url')) + '# ... long hover of at least 8 seconds for chance to change';<br \/>\n      document.getElementById('area6').href=decodeURIComponent('' + window.localStorage.getItem('area6url'));<br \/>\n      document.getElementById('area6').onclick=function(){ omoiset=-1;  urls[5]=urls[5]; }<br \/>\n      \/\/document.getElementById('area6').ondblclick=function(){ ouralert(6); }<br \/>\n    }<br \/>\n  }<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p> &#8230; in <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/index.php-GETME\" title=\"index.php\">a changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php-GETME\" title=\"index.php\">index.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php\" title=\"Click picture\">Landing Page<\/a> whose <i>guises<\/i> as &#8230;<\/p>\n<ul>\n<li>Landing Page in mobile phone devices<\/li>\n<li>Landing Page in an iframe<\/li>\n<li>Landing Page in a popup window<\/li>\n<\/ul>\n<p> &#8230; we all excluded from new functionality Image Map potential &#8220;dark green area clicking&#8221; access to photography themed &#8220;One Image Websites&#8221; &#8230;<\/p>\n<ul>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/ephemeral\" title=\"Ephemeral\">&#8220;Ephemeral&#8221;<\/a><\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/streetart\" title=\"Street Art\">&#8220;Street Art&#8221;<\/a><\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/thecommute\" title=\"The Commute\">&#8220;The Commute&#8221;<\/a><\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/pyrmontultimo\" title=\"The Inner 'Burbs\">&#8220;The Inner &#8216;Burbs&#8221;<\/a><\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/bygone\" title=\"Bygone\">&#8220;Bygone&#8221;<\/a><\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/thewest\" title=\"West\">&#8220;West&#8221;<\/a><\/li>\n<\/ul>\n<p> &#8230; accessible from Image Map area elements up above and down below the WordPress Blog posting iframe whose CSS property <i>z-index<\/i> is <font color=darkblue>set to<\/font> &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\n&lt;iframe title='Recent posts' onload='check_if(this);' src='PHP\/zero.html?totalwidth=y' class='zero' id='ifzero'<font color=darkblue> style='z-index:57;'<\/font>&gt;&lt;\/iframe&gt;<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p> &#8230; <font color=darkblue>57<\/font>.<\/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\/responsive-web-design-landing-page-image-map-tutorial\/'>Responsive Web Design Landing Page Image Map Tutorial<\/a>.<\/p-->\n<hr>\n<p id='rwdlpit'>Previous relevant <a target=_blank title='Responsive Web Design Landing Page Incarnation Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/responsive-web-design-landing-page-incarnation-tutorial\/'>Responsive Web Design Landing Page Incarnation Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Responsive Web Design Landing Page Incarnation Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/responsive_more.jpg\" title=\"Responsive Web Design Landing Page Incarnation Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Responsive Web Design Landing Page Incarnation Tutorial<\/p><\/div>\n<p>Along the same &#8220;Responsive Design&#8221; themes of <a title='Responsive Web Design Primer Tutorial' href='#rwdpt'>Responsive Web Design Primer Tutorial<\/a>, we stumbled upon the excellent <a target=_blank title='W3schools useful page' href='https:\/\/www.w3schools.com\/w3css\/tryit.asp?filename=tryw3css_templates_start_page&#038;stacked=h'>W3Schools Responsive Design Based Start Page Idea<\/a> which inspired us to retry RJM Programming Landing Page thoughts &#8230;<\/p>\n<ul>\n<li>separating out totally &#8220;uninvolved&#8221; Landing Page calls hooked up with a new index.php (actually just HTML) Landing Page incarnation that has better Responsive Design credentials &#8230; from &#8230;<\/li>\n<li>any other call of any complexity or having a query string etcetera, reverting to the &#8220;old way&#8221;<\/li>\n<\/ul>\n<p> &#8230; new paradigm?   So, why keep the old way?  Well, we packed the &#8220;old way&#8221; with content rich functionality, and do not want to ditch that yet, but maybe over time?!<\/p>\n<p>You&#8217;ll see, though, using the new <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.php_GETME\">index.php<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\">Responsive Design Landing Page incarnation<\/a> &#8230;<\/p>\n<p><iframe style='width:100%;height:2500px;' src='\/\/www.rjmprogramming.com.au\/'><\/iframe><\/p>\n<p> &#8230; how the clutter melts away like a hot knife through <strike>margarine<\/strike>butter!<\/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\/responsive-web-design-landing-page-incarnation-tutorial\/'>Responsive Web Design Landing Page Incarnation Tutorial<\/a>.<\/p-->\n<hr>\n<p id='rwdpt'>Previous relevant <a target=_blank title='Responsive Web Design Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/responsive-web-design-primer-tutorial\/'>Responsive Web Design 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\/?responsive=yes\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Responsive Web Design Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/responsive\/earlydays.gif\" title=\"Responsive Web Design Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Responsive Web Design Primer Tutorial<\/p><\/div>\n<p>Today we wanted to tip our toes into the vast subject of <a target=_blank title='' href='https:\/\/en.wikipedia.org\/wiki\/Responsive_web_design'>&#8220;responsive web design&#8221;<\/a> &#8230;<\/p>\n<blockquote cite='https:\/\/en.wikipedia.org\/wiki\/Responsive_web_design'><p>\nResponsive web design (RWD) is an approach to web design that makes web pages render well on a variety of devices and window or screen sizes from minimum to maximum display size. Recent work also considers the viewer proximity as part of the viewing context as an extension for RWD.[1] Content, design and performance are necessary across all devices to ensure usability and satisfaction.[2][3][4][5]\n<\/p><\/blockquote>\n<p> &#8230; coming at it from the idea <a target=_blank title='Can a responsive shell webpage host a non-responsive iframe?' href='https:\/\/www.google.com\/search?q=can+a+responsive+shell+webpage+host+a+non-responsive+iframe&#038;rlz=1C5CHFA_enAU832AU832&#038;oq=can+a+responsive+shell+webpage+host+a+non-responsive+iframe&#038;aqs=chrome..69i57.19412j0j4&#038;sourceid=chrome&#038;ie=UTF-8'>&#8220;Can a responsive shell webpage host a non-responsive iframe?&#8221;<\/a><\/p>\n<p>In turn this got us to the <a target=_blank title='Excellent ideas, thanks' href='https:\/\/stackoverflow.com\/questions\/30595948\/is-it-possible-to-load-a-responsive-iframe-within-a-non-responsive-site'>excellent ideas of this webpage<\/a> which we&#8217;ll try out for a while &#8230;<\/p>\n<ul>\n<li>honing in on our &#8220;Landing Page and friends&#8221; set of unresponsively designed webpages &#8230;<\/li>\n<li>honing in on iPhone sized devices (ie. not iPads nor laptops) &#8230;<\/li>\n<li>host web browser address bar calls of &#8220;Landing Page and friends&#8221; set of unresponsively designed webpages within a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/responsive\/caller.html_GETME\" title=\"caller.html\">caller.html<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/responsive\/caller.html\">responsively web designed shell<\/a> supervisory webpage and start using some of that &#8230;<br \/>\n<table>\n<tr>\n<th>Unresponsive Landing Page<\/th>\n<\/tr>\n<tr>\n<td>\n<iframe style='width:100%;height:800px;' src='\/\/www.rjmprogramming.com.au\/index.htm?yes=yes'><\/iframe>\n<\/td>\n<tr>\n<tr>\n<th>Responsive Shell around Unresponsive Landing Page<\/th>\n<\/tr>\n<tr>\n<td>\n<iframe style='width:100%;height:800px;' src='\/\/www.rjmprogramming.com.au\/?yes=yes'><\/iframe>\n<\/td>\n<\/tr>\n<\/table>\n<p> &#8230; as food for <font size=1>(your)<\/font> thought &#8230;<\/p>\n<p><code><br \/>\n   function bodonl() {<br \/>\n     var wasih=document.body.innerHTML;<br \/>\n     var huhd=document.getElementById('Container').getBoundingClientRect();<br \/>\n     var pb=0;<br \/>\n     if (eval('' + huhd.height) &gt; eval('' + huhd.width)) {<br \/>\n     isportrait=true;<br \/>\n     pb=eval(eval('' + huhd.width) \/ eval('' + huhd.height) * 100.0);<br \/>\n     nowih='&lt;div id=\"Container\" style=\"padding-right:' + pb + '%; position:relative; display:block; height: 100vh;\"&gt;&lt;iframe' + wasih.split('&lt;iframe')[1].split('&lt;\/div&gt;')[0].replace('\" frameborder', fname + '\" style=\"position:absolute; top:0; left: 0;\" frameborder') + '&lt;\/div&gt;';<br \/>\n     \/\/if (navigator.userAgent.match(\/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile\/i)) {<br \/>\n     \/\/document.getElementById('myvis').setAttribute('initial-scale','0.5');<br \/>\n     \/\/}<br \/>\n     } else {<br \/>\n     isportrait=false;<br \/>\n     pb=eval(eval('' + huhd.height) \/ eval('' + huhd.width) * 100.0);<br \/>\n     nowih='&lt;div id=\"Container\" style=\"padding-bottom:' + pb + '%; position:relative; display:block; width: 100%;\"&gt;&lt;iframe' + wasih.split('&lt;iframe')[1].split('&lt;\/div&gt;')[0].replace('\" frameborder', fname + '\" style=\"position:absolute; top:0; left: 0;\" frameborder') + '&lt;\/div&gt;';<br \/>\n     }<br \/>\n     document.body.innerHTML=nowih;<br \/>\n   }<br \/>\n<\/code><\/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='#d53069' onclick='var dv=document.getElementById(\"d53069\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/design\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d53069' 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='#d56994' onclick='var dv=document.getElementById(\"d56994\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/webpage\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56994' 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='#d57364' onclick='var dv=document.getElementById(\"d57364\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/image-map\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d57364' 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='#d57489' onclick='var dv=document.getElementById(\"d57489\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/onresize\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d57489' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>We try to not make the onresize event a &#8220;second class citizen&#8221; in our thinking here, and we wait for the day we think about it as a matter of course, and we&#8217;ll know we&#8217;ve arrived at some representation of &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/responsive-web-design-landing-page-image-map-onresize-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":[99,1653,2661,2525,281,1654,297,429,1550,2208,2258,576,587,590,592,599,652,680,3272,861,2717,864,870,1661,871,1578,894,2411,931,932,1988,997,1292,1302,2996,1319,1418,2257,1496],"class_list":["post-57489","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-area","tag-base64","tag-base64_encode","tag-child","tag-css","tag-data-uri","tag-data-url","tag-file_get_contents","tag-gd","tag-getboundingclientrect","tag-height","tag-html","tag-iframe","tag-image","tag-image-map","tag-img","tag-javascript","tag-landing-page","tag-left","tag-onclick","tag-one-image","tag-one-image-website","tag-onload","tag-onmouseout","tag-onmouseover","tag-onresize","tag-overlay","tag-parent","tag-photography","tag-php","tag-position","tag-programming","tag-top","tag-transparency","tag-transparent","tag-tutorial","tag-webpage","tag-width","tag-z-index"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/57489"}],"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=57489"}],"version-history":[{"count":8,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/57489\/revisions"}],"predecessor-version":[{"id":57956,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/57489\/revisions\/57956"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=57489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=57489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=57489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}