Numbers Guessing Game
Your Numbers Game
Get
clueYour
answerYour
ScoreClue? Score 0/0
-
Recent Posts
- PHP Exif Quiz Geographicals Tutorial
- PHP Exif Quiz Tutorial
- PHP Exif Retention off iPhone Images Tutorial
- List to Grid Layout CSS Media Query Tutorial
- List to Grid Layout Primer Tutorial
- Out and About WordPress Blog Content Tweaks Just with iPhone Tutorial
- Command Line History By Date Tutorial
- Overseas Travel Global Roaming Mobile Primer Tutorial
Categories
- Ajax
- Android
- Animation
- Anything You Like
- Code::Blocks
- Coding
- Colour Matching
- Data Integration
- Database
- Delphi
- Eclipse
- eLearning
- ESL
- Event-Driven Programming
- Games
- GIMP
- GUI
- Hardware
- Installers
- iOS
- Land Surveying
- Moodle
- Music Poll
- NetBeans
- Networking
- News
- Not Categorised
- OOP
- Operating System
- Photography
- Projects
- Signage Poll
- Software
- SpectroPhotometer
- Tiki Wiki
- Trips
- Tutorials
- Uncategorized
- Visual Studio
- Xcode
Meta
Tags
Ajax animation background button canvas command line CSS Did you know DOM dropdown email emoji event form game Google Google chart hashtag HTML IFRAME image iOS Javascript MAMP media mobile navigation onclick overlay PHP popup programming select share sharing SMS SVG table text textarea tutorial url video web browser webpageYour Background Image
OnTopList
Tag Archives: programming
Song Lyric Karaoke Style SubRip Subtitles Sharing Tutorial
Yesterday’s Song Lyric Karaoke Style SubRip Subtitles Tutorial may have been a salutary awakening for some humans (and perhaps even some Martians) out there. Is there a confession around the corner?! Well, have we got news for you?! We have added email and SMS sharing capabilities into the mix of our Song Lyric Faux Pas web application, along with allowing more than one song to be of interest in any one session using the “second draft” song_lyric_faux_pas.html web application below. Also, we’re hoping helps is that if you tab out of the Song Name textbox having filled that in with your song name of interest, a new popup window appears over to the right, and you can scour it’s resultant dropdown for the required … YouTube 11 character video ID … and so far, in a rudimentary sense that we may automate better into the future … once there you can click a relevant “Create” link appearing to glean those start and end times (in seconds) our form asks for Previous relevant Song Lyric Karaoke Style SubRip Subtitles Tutorial is shown below. Further to yesterday’s YouTube API SubRip Subtitles Browsing Tutorial, do you remember at YouTube API SubRip Subtitles Primer Tutorial how all this latest blog posting thread was because of an idea we had? Well, today, the work we’ve been doing on SubRip subtitle integrations into our YouTube API interfacing video play has reached the point where it can help with that idea, it being the creation of a … Song Lyric Faux Pas … web application. Am sure a lot of people out there are like me, and find both amusing and excruciating, when discovering the error of our ways, in finding out that all those years ago, all those sessions in the shower later, you discover the actual words to a song lyric, and not the ones you’d been singing all that time?! In creating that “first draft”, though, as you might imagine, there were nuances to the underlying further changed stop_start_youtube.html inhouse YouTube API interfacer at the the grandchild level called by the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application you can try below. This new Song Lyric Faux Pas web application sits at a grandparent level in the scheme of things here, and just below, that makes this blog posting webpage be at a great-grandparent level …
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, browse, browsing, caption, captioning, collaboration, create, dropdown, email, error, faux pas, form, hash, hashtag, hashtagging, hierarchy, HTML, IFRAME, Javascript, karaoke, level, link, location.hash, lyrics, onblur, programming, share, sharing, SMS, song, song lyrics, subrip, subrip subtitle, subtitle, textarea, tutorial, video, YouTube, YouTube API
Leave a comment
Song Lyric Karaoke Style SubRip Subtitles Tutorial
Further to yesterday’s YouTube API SubRip Subtitles Browsing Tutorial, do you remember at YouTube API SubRip Subtitles Primer Tutorial how all this latest blog posting thread was because of an idea we had? Well, today, the work we’ve been doing on SubRip subtitle integrations into our YouTube API interfacing video play has reached the point where it can help with that idea, it being the creation of a … Song Lyric Faux Pas … web application. Am sure a lot of people out there are like me, and find both amusing and excruciating, when discovering the error of our ways, in finding out that all those years ago, all those sessions in the shower later, you discover the actual words to a song lyric, and not the ones you’d been singing all that time?! In creating that “first draft”, though, as you might imagine, there were nuances to the underlying further changed stop_start_youtube.html inhouse YouTube API interfacer at the the grandchild level called by the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application you can try below. This new Song Lyric Faux Pas web application sits at a grandparent level in the scheme of things here, and just below, that makes this blog posting webpage be at a great-grandparent level … Previous relevant YouTube API SubRip Subtitles Browsing Tutorial is shown below. Quite often, wherever in a web application we specify that content (which is SubRip subtitle file data in today’s case) is derived via … a user defined URL … then other input approaches that could spring to mind as alternatives are … as possible, the creation of what that data is via user actions (what we started doing yesterday) … and today … allow for local file browsing of that data … where we’ve tweaked our inhouse local file browsing helper Also, today, it occurred to us that it should be a day where the user gets more control of things, and in that regard we’ve started “wrapping” the user defined captions and subtitles (that are separate to any YouTube API video calling ones) in a “revealing” details/summary nesting. Yesterday’s YouTube API SubRip Subtitles Creation Tutorial introduced that new textarea element to collect and create SubRip subtitle (and caption) data, but a more user interesting feature regarding this occurred to us, today. Why not add to it an onblur=”hgrip=massage(this.value,hgrip);” function as
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, browse, browsing, caption, captioning, create, error, faux pas, form, hash, hashtag, hashtagging, hierarchy, HTML, IFRAME, Javascript, karaoke, level, link, location.hash, lyrics, programming, song, song lyrics, subrip, subrip subtitle, subtitle, textarea, tutorial, video, YouTube, YouTube API
Leave a comment
YouTube API SubRip Subtitles Browsing Tutorial
Quite often, wherever in a web application we specify that content (which is SubRip subtitle file data in today’s case) is derived via … a user defined URL … then other input approaches that could spring to mind as alternatives are … as possible, the creation of what that data is via user actions (what we started doing yesterday) … and today … allow for local file browsing of that data … where we’ve tweaked our inhouse local file browsing helper Also, today, it occurred to us that it should be a day where the user gets more control of things, and in that regard we’ve started “wrapping” the user defined captions and subtitles (that are separate to any YouTube API video calling ones) in a “revealing” details/summary nesting. Yesterday’s YouTube API SubRip Subtitles Creation Tutorial introduced that new textarea element to collect and create SubRip subtitle (and caption) data, but a more user interesting feature regarding this occurred to us, today. Why not add to it an onblur=”hgrip=massage(this.value,hgrip);” function as per … function massage(altval, actval) { if (1 == 1) { return altval.replace(/\{Awaiting\ pause\}/g, ‘youllneverfindthis’); } return actval; } Again, you can see this in a further changed stop_start_youtube.html inhouse YouTube API interfacer at the the grandchild level called by the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application you can try below. Previous relevant YouTube API SubRip Subtitles Creation Tutorial is shown below. Further to yesterday’s YouTube API SubRip Subtitles Hashtag Tutorial, it being based on … a user supplied SubRip subtitles filename URL … but, today, we want more “recallability” by … adding functionality to create the contents of a SubRip subtitles file and … pass it back in hashtag form back up through the hierarchy allow it to be copied and recallable in window.localStorage relevant to the web browser and device being used A new “Create” “a” link at the parent level allows this to happen, and once the SubRip subtitles file contents is completed at the grandchild level inhouse YouTube API interfacer and “hashtagged” back to the parent level where a “subtitles” “a” link can then be used to store this recallable hashtagging into (and out of) the window.localStorage web browser repository. You can see this in a further changed stop_start_youtube.html inhouse YouTube API interfacer at the the grandchild level called by the parent level changed karaoke_youtube_api.htm inhouse
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, browse, browsing, caption, captioning, create, hash, hashtag, hashtagging, hierarchy, HTML, Javascript, link, location.hash, programming, subrip, subrip subtitle, subtitle, textarea, tutorial, video, YouTube, YouTube API
Leave a comment
YouTube API SubRip Subtitles Creation Tutorial
Further to yesterday’s YouTube API SubRip Subtitles Hashtag Tutorial, it being based on … a user supplied SubRip subtitles filename URL … but, today, we want more “recallability” by … adding functionality to create the contents of a SubRip subtitles file and … pass it back in hashtag form back up through the hierarchy allow it to be copied and recallable in window.localStorage relevant to the web browser and device being used A new “Create” “a” link at the parent level allows this to happen, and once the SubRip subtitles file contents is completed at the grandchild level inhouse YouTube API interfacer and “hashtagged” back to the parent level where a “subtitles” “a” link can then be used to store this recallable hashtagging into (and out of) the window.localStorage web browser repository. You can see this in a further changed stop_start_youtube.html inhouse YouTube API interfacer at the the grandchild level called by the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application you can try below. Previous relevant YouTube API SubRip Subtitles Hashtag Tutorial is shown below. Yesterday’s YouTube API SubRip Subtitles Primer Tutorial had us allowing for a semi-integrated … recognition of SubRip subtitle file definition in the grandchild level inhouse YouTube API interfacing HTML and Javascript we have going, and testing in it’s “standalone” incarnation, if you will, via a further changed stop_start_youtube.html inhouse YouTube API interfacer … in which we coaxed the grandchild to at least recognize that … the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application … … can move with the times, and understand the nuances of SubRip jive talk, if encouraged?! So … Yay!!!!!!!!! Team!!!!!!!!!! Give us a K … … … And didn’t you just know that hashtagging within all the document.URL incarnations would help out here?! We add the ability at the parent level in that first textbox (that you can reach for yourself by clicking the last link or the tutorial image above) so that an entry like … 7o9wvYXR3n0#/tokyo.srt … you can simulate here by clicking this link, below, or for a new window incarnation, click here. Previous relevant YouTube API SubRip Subtitles Primer Tutorial is shown below. We’re back at the YouTube API themes, like with Audio Stream of YouTube Video Play Safari Loading Tutorial, today, allowing for … SubRip subtitle … file reading and
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, caption, captioning, create, hash, hashtag, hashtagging, hierarchy, HTML, Javascript, link, location.hash, programming, subrip, subrip subtitle, subtitle, textarea, tutorial, video, YouTube, YouTube API
Leave a comment
YouTube API SubRip Subtitles Hashtag Tutorial
Yesterday’s YouTube API SubRip Subtitles Primer Tutorial had us allowing for a semi-integrated … recognition of SubRip subtitle file definition in the grandchild level inhouse YouTube API interfacing HTML and Javascript we have going, and testing in it’s “standalone” incarnation, if you will, via a further changed stop_start_youtube.html inhouse YouTube API interfacer … in which we coaxed the grandchild to at least recognize that … the parent level changed karaoke_youtube_api.htm inhouse YouTube Informational Organizer and improved Audio Recording Organizer web application … … can move with the times, and understand the nuances of SubRip jive talk, if encouraged?! So … Yay!!!!!!!!! Team!!!!!!!!!! Give us a K … … … And didn’t you just know that hashtagging within all the document.URL incarnations would help out here?! We add the ability at the parent level in that first textbox (that you can reach for yourself by clicking the last link or the tutorial image above) so that an entry like … 7o9wvYXR3n0#/tokyo.srt … you can simulate here by clicking this link, below, or for a new window incarnation, click here. Previous relevant YouTube API SubRip Subtitles Primer Tutorial is shown below. We’re back at the YouTube API themes, like with Audio Stream of YouTube Video Play Safari Loading Tutorial, today, allowing for … SubRip subtitle … file reading and processing just on the client side, via Ajax methodologies, following up on an idea we had for something “down the track” we hope benefits from the new Javascript below … var stimes=[], etimes=[], timesubtitles=[], cursubi=-1, xhr=null, cursecselapsed=-1.0, enforcedtimeis=-1.0, isnotplaying=true, createdlh=”; var gsrt=( (” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).indexOf(‘=1’ + encodeURIComponent(String.fromCharCode(10))) != -1 ? processsrt(‘1’ + encodeURIComponent(String.fromCharCode(10)) + (” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).split(‘=1’ + encodeURIComponent(String.fromCharCode(10))[1].split(encodeURIComponent(String.fromCharCode(10)) + ‘&’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘#’)[0]) ).replace(/\+/g, ‘ ‘) : ((” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).toLowerCase().replace(encodeURIComponent(‘.’) + ‘vtt’,encodeURIComponent(‘.’) + ‘srt’).indexOf(encodeURIComponent(‘.’) + ‘srt’) != -1 ? processsrt((” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).replace(encodeURIComponent(‘.’) + ‘SRT’,’SRT’ + encodeURIComponent(‘.’) + ‘srt’).replace(encodeURIComponent(‘.’) + ‘vtt’,’vtt’ + encodeURIComponent(‘.’) + ‘srt’).replace(encodeURIComponent(‘.’) + ‘VTT’,’VTT’ + encodeURIComponent(‘.’) + ‘srt’).split(encodeURIComponent(‘.’) + ‘srt’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘&’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘#’)[0]) : ”)); function getlh() { return (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”); } function writeoutsubtitle() { var newsubi=-1, ithings=0; //console.log(‘call ‘ + enforcedtimeis + ‘ ‘ + cursecselapsed); if (enforcedtimeis >= 0.0) { cursecselapsed=enforcedtimeis; } if (cursecselapsed >= 0.0 && cursubi >= 0 && eval(” + etimes.length) > 0 && eval(” + stimes.length) > 0 && eval(” + timesubtitles.length) > 0) { if (enforcedtimeis
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, caption, captioning, hash, hashtag, hashtagging, hierarchy, HTML, Javascript, location.hash, programming, subrip, subrip subtitle, subtitle, tutorial, video, YouTube, YouTube API
Leave a comment
YouTube API SubRip Subtitles Primer Tutorial
We’re back at the YouTube API themes, like with Audio Stream of YouTube Video Play Safari Loading Tutorial, today, allowing for … SubRip subtitle … file reading and processing just on the client side, via Ajax methodologies, following up on an idea we had for something “down the track” we hope benefits from the new Javascript below … var stimes=[], etimes=[], timesubtitles=[], cursubi=-1, xhr=null, cursecselapsed=-1.0, enforcedtimeis=-1.0, isnotplaying=true, createdlh=”; var gsrt=( (” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).indexOf(‘=1’ + encodeURIComponent(String.fromCharCode(10))) != -1 ? processsrt(‘1’ + encodeURIComponent(String.fromCharCode(10)) + (” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).split(‘=1’ + encodeURIComponent(String.fromCharCode(10))[1].split(encodeURIComponent(String.fromCharCode(10)) + ‘&’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘#’)[0]) ).replace(/\+/g, ‘ ‘) : ((” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).toLowerCase().replace(encodeURIComponent(‘.’) + ‘vtt’,encodeURIComponent(‘.’) + ‘srt’).indexOf(encodeURIComponent(‘.’) + ‘srt’) != -1 ? processsrt((” + location.search + (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”)).replace(encodeURIComponent(‘.’) + ‘SRT’,’SRT’ + encodeURIComponent(‘.’) + ‘srt’).replace(encodeURIComponent(‘.’) + ‘vtt’,’vtt’ + encodeURIComponent(‘.’) + ‘srt’).replace(encodeURIComponent(‘.’) + ‘VTT’,’VTT’ + encodeURIComponent(‘.’) + ‘srt’).split(encodeURIComponent(‘.’) + ‘srt’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘&’)[0].split(encodeURIComponent(String.fromCharCode(10)) + ‘#’)[0]) : ”)); function getlh() { return (” + location.hash).replace(/^undefined/g,”).replace(/^null/g,”); } function writeoutsubtitle() { var newsubi=-1, ithings=0; //console.log(‘call ‘ + enforcedtimeis + ‘ ‘ + cursecselapsed); if (enforcedtimeis >= 0.0) { cursecselapsed=enforcedtimeis; } if (cursecselapsed >= 0.0 && cursubi >= 0 && eval(” + etimes.length) > 0 && eval(” + stimes.length) > 0 && eval(” + timesubtitles.length) > 0) { if (enforcedtimeis < 0.0) { cursecselapsed+=0.1; } //console.log(” + cursecselapsed); if (eval(cursecselapsed) >= eval(stimes[cursubi]) && eval(cursecselapsed) <= eval(etimes[cursubi])) { if (document.getElementById(‘subtitlegoeshere’).innerHTML == ” && eval(” + timesubtitles.length) > cursubi) { console.log(‘found for ‘ + cursubi); document.getElementById(‘subtitlegoeshere’).innerHTML=timesubtitles[cursubi]; } } else { for (ithings=0; ithings<stimes.length; ithings++) { if (eval(cursecselapsed) >= eval(stimes[ithings]) && eval(cursecselapsed) <= eval(etimes[ithings])) { newsubi=ithings; //alert(‘yes ‘ + ithings); } } if (eval(newsubi) >= 0 && eval(cursubi) >= 0 && eval(newsubi) != eval(cursubi)) { //alert(” + timesubtitles.length + ‘ needs to be bigger than ‘ + newsubi); if (eval(” + timesubtitles.length) > eval(newsubi)) { cursubi=newsubi; console.log(‘Found for ‘ + cursubi); if ((” + timesubtitles[cursubi]).replace(/^undefined$/g,”).replace(‘WEBVTT FILE’, ”) != ”) { document.getElementById(‘subtitlegoeshere’).innerHTML=(” + timesubtitles[cursubi]).replace(/^undefined$/g,”); if (window.parent) { if (parent.document.getElementById(‘subtitlegoeshere’)) { parent.document.getElementById(‘subtitlegoeshere’).innerHTML=(” + timesubtitles[cursubi]).replace(/^undefined$/g,”); } } } } } else if (eval(newsubi) >= 0 && eval(cursubi) >= 0 && document.getElementById(‘subtitlegoeshere’).innerHTML == ”) { console.log(‘Found For ‘ + cursubi); if ((” + timesubtitles[cursubi]).replace(/^undefined$/g,”).replace(‘WEBVTT FILE’, ”) != ”) { document.getElementById(‘subtitlegoeshere’).innerHTML=(” + timesubtitles[cursubi]).replace(/^undefined$/g,”); if (window.parent) { if (parent.document.getElementById(‘subtitlegoeshere’)) { parent.document.getElementById(‘subtitlegoeshere’).innerHTML=(” + timesubtitles[cursubi]).replace(/^undefined$/g,”); } } } } } } if (!isnotplaying) { enforcedtimeis=-1.0; } } function convertSrtToText(srt) { // thanks to https://medium.com/@backlinkss.info/convert-srt-to-text-regex-javascript-9660964ee3f0 // Use a expressão regular para
Posted in Ajax, eLearning, Event-Driven Programming, Tutorials
Tagged Ajax, API, caption, captioning, hierarchy, HTML, Javascript, programming, subrip, subrip subtitle, subtitle, tutorial, video, YouTube, YouTube API
Leave a comment
Landing Page Web Inspector iPhone CSS Styling Tutorial
We’ve put up with a Landing Page annoyance regarding iPhone Portrait viewing for some time now, but today we’ve bitten the bullet and attended to the issue whereby the last “g” in RJM Programming butted up to the right hand side of the Portrait screen annoyingly. They say “pixel perfect” and today’s work is a bit like that, further to other web inspector work helping the Landing Page talked about at Landing Page Web Inspector CSS Styling Tutorial. Today, we make use of the fact that CSS can be dynamically changed in the arrangements of most webpages just by adding <style> CSS styling </style> into the innerHTML property of a suitable HTML element. We also found the CSS clause … !important … impotent, on occasions, trying to help, and so we went around with Javascript DOM “undoing” a className scenario, something we cannot remember ever undertaking, but not so strange given it is only … iPhone device width Portrait … scenarios we are talking about here. That “unclassing” leaves the door open to ensuring our chosen 62px font-size CSS property holds sway, for these scenarios. In doing the job, it was our default just to break the … RJM Programming … text at the space character, and that “ever so mild” scrunching up of content helped, but there are a myriad of ways to going about this job, tabularized below … Idea Javascript DOM Default document.getElementById(‘topspan’).innerHTML=document.getElementById(‘topspan’).innerHTML.replace(‘RJM Programming’, ‘RJM</h1><h1 style=font-size:62px;>Programming’).replace(/\<\/hJUNK1/g, ‘</h2’); Border setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; document.getElementById(‘laststyle’).innerHTML+='<style> h1 { outline-right: 6px solid transparent; } </style>’; }, 200); Classname setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; }, 200); Margin setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; document.getElementById(‘laststyle’).innerHTML+='<style> h1 { padding-right: 6px; } </style>’; }, 200); Font setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; }, 200); After setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; document.getElementById(‘laststyle’).innerHTML+=”<style> h1:after { content: ‘ ‘ !important; } </style>”; }, 200); Wording setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; document.getElementById(‘toph1’).innerHTML+=” “; }, 200); Overflow setTimeout(function(){ document.getElementById(‘toph1’).className=document.getElementById(‘toph1’).className.replace(‘jumbo’, ‘jumXbo’); document.getElementById(‘laststyle’).innerHTML+='<style> h1 { font-size: 62px !important; } </style>’; document.getElementById(‘topspan’).style.width=” + eval(0 + eval(” + document.documentElement.clientWidth)) + ‘px’; document.getElementById(‘topspan’).style.wordWrap=’keep-all’; }, 200); Was … in a changed index.php RJM Programming Landing Page. Previous relevant Landing Page Web Inspector CSS Styling Tutorial is shown below. Are you a


Thanks. Since then, a Shower Songs project at https://www.rjmprogramming.com.au/HTMLCSS/shower_songs.html is an improvement regarding "Radio Play" on mobile platforms.