We left off yesterday’s Synonymous With Delimitation Primer Tutorial‘s YouTube API based SubRip (ie. subtitles) based web application discussion with …
Still to go, to go further, is to code within the SubRips for understanding a potential new incoming argument …
?inlist=[encoded " , " based data]
… and here we are … in amongst the SubRips … just cooling off … man … damn … whatevvvvveeeerrrrr!
Okay, in real life, the data between our ” , ” delimitations could be very complex, but within that ” , ” delimited data we can have ” ” delimited “words” we can categorize into …
- purely numeric … so is either a start of video snippet time (4th textbox) or end of video snippet time (5th textbox)
- YouTube 11 character string (which is 2nd textbox content)
- URL starting with http … so is either a 6th textbox component or that 7th textbox link … and then …
- what’s left (of a ” , ” record field) … where we might find, in order of priority, a component of the 3rd textbox or a component of the 6th textbox or the form 1st title textbox
… as a way to proceed, and also cater for users going “that extra milekilometer”. So, that’s the idea here, and it’s up to you but, we tend not to care that data makes sense at this stage (allowing us to swivel from https://www.rjmprogramming.com.au/ address bar URLs to http://localhost:8888/ MAMP ones willy nilly to test things to the level of “just slotting them into the correct textbox places” that is), but that it falls into the correct textboxes that worry us for today, so in most/any tutorial animated GIF image you see today, don’t expect a SubRip result (that works) … man … damn … whatevvvvveeeerrrrr!
Now, where to place this logic? Well, as it so happens, the cloning we did with these “down among the SubRips … just cooling off … man … damn … whatevvvvveeeerrrrr” project …
- meant the HTML form IDs were all the same throughout the suite of peer YouTube API based SubRip web applications … phew! … and left us with …
- a suitable external Javascript we call with any of the suite of peer YouTube API based SubRip web applications
… and so, that is where we place the new Javascript logic …
var xinlist=location.search.split('inlist=')[1] ? decodeURIComponent(location.search.split('inlist=')[1].split('&')[0]) : '';
var xinarr=xinlist.split(' , ');
if (xinlist.trim() != '') {
setTimeout(synonomous, 6000);
}
function synonomous() {
var oklast=['A','E','I','M','Q','U','Y','c','g','k','o','s','w','0','4','8'];
var parttherof=0, partwords=[], recw='', wpart=0, sfnd=false, efnd=false, tfnd=false, yfnd=false, wfnd=false, hfnd=false, ofnd=false, mta=0, addonm=1, ntwoinarow=-1;
var snapshotrecs=[], lastssr=-1, sparerec='', kspare=0, wwpart=0;
if (xinlist.trim() != '') {
for (parttherof=0; parttherof<xinarr.length; parttherof++) {
recw=xinarr[parttherof];
sfnd=false;
efnd=false;
wfnd=false;
hfnd=false;
mta=0;
addonm=1;
snapshotrecs=[];
lastssr=-1;
ntwoinarow=-1;
partwords=xinarr[parttherof].trim().split(' ');
for (wpart=0; wpart
for (wpart=0; wpart<partwords.length; wpart++) {
if (partwords[wpart] == '') {
sfnd=sfnd;
} else if (partwords[wpart].trim() != '' && partwords[wpart].replace('.','').replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'') == '') {
if (wpart > ntwoinarow) {
if (!sfnd) {
if (document.getElementById('fauxpasstartsecs01').value == '') {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasstartsecs01').value+=partwords[wpart];
sfnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
} else {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasstartsecs01').value+=',' + partwords[wpart];
sfnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
}
}
} else if (!efnd) {
if (document.getElementById('fauxpasendsecs01').value == '') {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasendsecs01').value+=partwords[wpart];
efnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
} else {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasendsecs01').value+=',' + partwords[wpart];
efnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
}
} else {
if (addonm == 1) { sparerec=recw; if (lastssr >= 0) { for (kspare=0; kspare<=lastssr; kspare++) { sparerec=sparerec.replace(snapshotrecs[kspare],''); } } snapshotrecs.push(sparerec); lastssr=eval(-1 + eval('' + snapshotrecs.length)); }
mta+=addonm;
addonm=0;
}
} else if (partwords[wpart].trim() != '' && partwords[wpart].toLowerCase().indexOf('http') == 0) {
if (!hfnd && document.URL.indexOf('/song_lyric_faux_pas.htm') == -1) {
if (document.getElementById('fauxpasreally01').value == '') {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasreally01').value+=partwords[wpart];
addonm=1;
} else {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('fauxpasreally01').value+=',' + partwords[wpart];
addonm=1;
}
hfnd=true;
recw=recw.replace(partwords[wpart], '');
} else if (!ofnd) {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('refurl01').value+=partwords[wpart];
ofnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
} else {
if (addonm == 1) { sparerec=recw; if (lastssr >= 0) { for (kspare=0; kspare<=lastssr; kspare++) { sparerec=sparerec.replace(snapshotrecs[kspare],''); } } snapshotrecs.push(sparerec); lastssr=eval(-1 + eval('' + snapshotrecs.length)); }
mta+=addonm;
addonm=0;
}
} else if (partwords[wpart].trim() != '' && eval('' + partwords[wpart].length) == eval('' + encodeURIComponent(partwords[wpart]).length) && eval('' + partwords[wpart].length) == 11 && oklast.indexOf(partwords[wpart].slice(-1)) != -1) {
if (!yfnd) {
if (lastssr >= 0) { snapshotrecs[lastssr]=snapshotrecs[lastssr].split(partwords[wpart])[0]; }
document.getElementById('youtubeid01').value+=partwords[wpart];
yfnd=true;
recw=recw.replace(partwords[wpart], '');
addonm=1;
} else {
if (addonm == 1) { sparerec=recw; if (lastssr >= 0) { for (kspare=0; kspare<=lastssr; kspare++) { sparerec=sparerec.replace(snapshotrecs[kspare],''); } } snapshotrecs.push(sparerec); lastssr=eval(-1 + eval('' + snapshotrecs.length)); }
mta+=addonm;
addonm=0;
}
} else {
if (addonm == 1) { sparerec=recw; if (lastssr >= 0) { for (kspare=0; kspare<=lastssr; kspare++) { sparerec=sparerec.replace(snapshotrecs[kspare],''); } } snapshotrecs.push(sparerec); lastssr=eval(-1 + eval('' + snapshotrecs.length)); }
mta+=addonm;
addonm=0;
}
}
if (mta > 0) {
for (wwpart=0; wwpart<snapshotrecs.length; wwpart++) {
if (snapshotrecs[wwpart] != '') {
if (!wfnd && document.URL.indexOf('/song_lyric_faux_pas.htm') != -1) {
if (document.getElementById('fauxpas01').value == '') {
document.getElementById('fauxpas01').value+=snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
wfnd=true;
} else {
document.getElementById('fauxpas01').value+=',' + snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
wfnd=true;
}
} else if (!hfnd && document.URL.indexOf('/song_lyric_faux_pas.htm') != -1) {
if (document.getElementById('fauxpasreally01').value == '') {
document.getElementById('fauxpasreally01').value+=snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
hfnd=true;
} else {
document.getElementById('fauxpasreally01').value+=',' + snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
hfnd=true;
}
} else if (!wfnd) {
if (document.getElementById('fauxpas01').value == '') {
document.getElementById('fauxpas01').value+=snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
wfnd=true;
} else {
document.getElementById('fauxpas01').value+=',' + snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
wfnd=true;
}
} else if (!hfnd && document.URL.indexOf('/song_lyric_faux_pas.htm') == -1) {
if (document.getElementById('fauxpasreally01').value == '') {
document.getElementById('fauxpasreally01').value+=snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
hfnd=true;
} else {
document.getElementById('fauxpasreally01').value+=',' + snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
hfnd=true;
}
} else if (!tfnd) {
document.getElementById('songname01').value+=snapshotrecs[wwpart].trim();
snapshotrecs[wwpart]='';
tfnd=true;
}
}
}
}
}
}
xinlist='';
}
… within the changed external Javascript subrip_helper.js helping out, so far, either/or Song Lyric Faux Pas or Video Commentary YouTube API based “SubRip … just cooling off … man … damn … whatevvvvveeeerrrrr” peers.
Previous relevant Synonymous With Delimitation Primer Tutorial is shown below.
We make inhouse rules regarding our Apache/PHP HTML web applications around here, at RJM Programming, quite often with the focus on …
delimitation
… rules and our favourite delimitation character is probably the comma ( ie. , ) when it comes to data. Think “comma separated values” data, that can go on to be a spreadsheet … that sort of thinking.
The work of the recent YouTube API Caller Radio Play Playlist Songname Search List Repeats Tutorial regarding web browser address bar comma related typing of that type of data has set us to thinking …
Can we extend this thinking?
Can we make synonymous some web applications with a delimitation rule so that around RJM Programming URLs that end up on the address bar, these having no arguments of their own, if appended to, that are (non-argumentative) words typed to match with a delimitation pattern our RJM Programming 404.shtml can detect and redirect appropriately?
And something made us remember it is not just “,” (synonymous with Tabular Single Row Media Gallery web application) that could be involved with the, so far just, “comma” based logics, it’s the ” , ” (ie. 2 spaces comma two spaces) rules of our inhouse Video Commentary (and/or if prefixed by ” , ” our inhouse Song Lyric Faux Pas) SubRip subtitles YouTube API facing web application(s) (last talked about with YouTube SubRip Subtitles Emoji Tutorial) that can enter the mix here too.
And because there are two delimitation rules (both comma based ones) so far here, we start today, not only …
- setting up a Tabular Single Row Media Gallery web application based bracket (ie. relevant strings have to start with { or [ or { and end with } or ] or } respectively) hosting system for it’s new playlist defining keyboard logic capabilities …
function onkd(e) {
var charx = e.which || e.keyCode;
if (String.fromCharCode(eval('' + charx)) >= '1' && String.fromCharCode(eval('' + charx)) <= '8' && okdsofar == '') {
endmatch='';
document.getElementById('fplaythft').style.border='3px dotted green';
document.getElementById('fplaythft').title+=' ... fired up ' + firedup[eval('' + String.fromCharCode(eval('' + charx)))].replace(/^Yacht\ /g,'Yacht++ ');
maybeinplayscenario=maybeso(true);
genreideas(String.fromCharCode(eval('' + charx)));
maybeinplayscenario=false;
} else if (String.fromCharCode(eval('' + charx)) == ',' && okdsofar == '') {
okdsofar+=String.fromCharCode(eval('' + charx));
endmatch='';
} else if (String.fromCharCode(eval('' + charx)) == '~' && okdsofar == '') {
okdsofar+=',';
endmatch='';
} else if (String.fromCharCode(eval('' + charx)) == '`' && okdsofar == '') {
okdsofar+=',';
endmatch='';
} else if (String.fromCharCode(eval('' + charx)) == '(' && okdsofar == '') {
endmatch=')';
okdsofar+=',';
} else if (String.fromCharCode(eval('' + charx)) == '[' && okdsofar == '') {
okdsofar+=',';
endmatch=']';
} else if (String.fromCharCode(eval('' + charx)) == '{' && okdsofar == '') {
okdsofar+=',';
endmatch='}';
} else if (String.fromCharCode(eval('' + charx)) < '1' || String.fromCharCode(eval('' + charx)) > '8' || okdsofar != '') {
okdsofar+=String.fromCharCode(eval('' + charx));
if (okdsofar.substring(0,1) == ',') {
if ((endmatch == '' && (okdsofar.slice(-1) == '~' || okdsofar.slice(-1) == '`')) || okdsofar.slice(-1) == endmatch) {
adbarpl=okdsofar.replace(/^\,/g,'').replace(/\~$/g,'').replace(/\`$/g,'').replace(/\}$/g,'').replace(/\]$/g,'').replace(/\)$/g,'');
andgo=(adbarpl.toLowerCase().indexOf('notgo') != -1 ? false : true);
okdsofar='';
endmatch='';
//alert('andgo=' + andgo);
createplaylist(null);
return true;
}
} else {
endmatch='';
if (okdsofar.trim() != '' && okdsofar.trim() != okdsofar && okdsofar.toLowerCase() != 'solo ') {
maybeinplayscenario=maybeso(true);
genreideas(okdsofar.replace(/^Mr\ /g,'Washington ').replace(/^MR\ /g,'Washington ').replace(/^mr\ /g,'Washington ').replace(/^The\ /g,'wrecking ').replace(/^THE\ /g,'wrecking ').replace(/^the\ /g,'wrecking ').trim());
maybeinplayscenario=false;
okdsofar='';
}
}
}
setTimeout(function(){ document.getElementById('thev').innerHTML='V'; }, 20000);
return true;
}
… of the changed swipe_media.html Tabular Single Row Media Gallery web application … but also … - it will redirect if it finds ” , ” related entries …
function overprompt(blb, defvl) {
var tdsare=[], itdone=false, baeis='', itds=0, lastpassesmustard=true;
var oklast=['A','E','I','M','Q','U','Y','c','g','k','o','s','w','0','4','8'];
var ivb=0;
if (adbarpl != '') {
outplist=adbarpl;
adbarpl='';
} else {
outplist=prompt(blb, defvl);
}
if (outplist != null) {
if (outplist.indexOf(' , ') == 0 && outplist.replace(/^\ \ \,\ \ /g,'').indexOf(' , ') != -1) {
window.open('//www.rjmprogramming.com.au/HTMLCSS/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(outplist.replace(/^\ \ \,\ \ /g,''),'_blank','top=55,left=55,height=600,width=600');
outplist='';
return '';
} else if (outplist.indexOf(' , ') != -1) {
window.open('//www.rjmprogramming.com.au/HTMLCSS/video_commentary.html?inlist=' + encodeURIComponent(outplist.replace(/^\ \ \,\ \ /g,''),'_blank','top=55,left=55,height=600,width=600');
outplist='';
return '';
}
}
// rest of overprompt(blb, defvl) logic follows
}
… and with all this … - regarding the RJM Programming 404.shtml …
- it redirects for this too … and …
- it now works it that an RJM Programming URL, not a WordPress one (where a 404.php paradigm handles it’s error 404s), and not one with ? arguments can be scrutinized for these “Synonymous With Delimitation” web application redirecting ideas …
if (document.URL.indexOf('rjmprogramming.com.au/HTMLCSS/swipe_media.htm') != -1) { // comma related ideas
if (decodeURIComponent(document.URL).indexOf(' , ') != -1) {
// Feed it to SubRip subtitles
if (decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'')).indexOf(' , ') == 0) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'')).replace(/^\ \ \,\ \ /g,'').replace(/^\%20\%20\%2C\%20\%20/g,''));
} else {
location.href='//www.rjmprogramming.com.au/HTMLCSS/video_commentary.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'')));
}
exit;
} else if (decodeURIComponent(document.URL).indexOf(',') != -1) {
if (decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'')).toLowerCase().indexOf('notgo') != -1) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?thelist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace('notgo','').replace('NOTGO','').replace('Notgo','')));
} else {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?andgo=y&thelist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'')));
exit;
}
} else if (decodeURIComponent(document.URL.split('rjmprogramming.com.au/HTMLCSS/swipe_media.htm')[1].replace(/^l/g,'')).toLowerCase().indexOf('ask') != -1) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?ask=y';
exit;
}
} else if (document.URL.replace('.au ','.au/').replace('.au%20','.au/').indexOf('rjmprogramming.com.au/') != -1) {
var anybitstoignore='youll_never_ever_find_this';
if (document.URL.replace('.au ','.au/').replace('.au%20','.au/').substring(0,1).replace('+','%') == '%') {
anybitstoignore='youll_never_ever_find_this';
} else if (document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().replace('/','~').replace('.htm','~').replace('.php','~').indexOf('~') != -1) {
var maxfind=Math.max(eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('.htm')),eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('.php')), eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('/')));
if (maxfind != eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('/'))) {
if (maxfind == eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('.php'))) {
maxfind+=4;
} else if (maxfind == eval('' + document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].split('%')[0].toLowerCase().indexOf('.html'))) {
maxfind+=5;
} else {
maxfind+=4;
}
} else {
while (decodeURIComponent(document.URL.replace(anybitstoignore,'').split('rjmprogramming.com.au/')[1].substring(maxfind)).indexOf('/') != -1) {
maxfind++;
}
}
anybitstoignore=document.URL.replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].substring(0,maxfind);
}
if (decodeURIComponent(document.URL.replace(anybitstoignore,'')).indexOf(' , ') != -1) {
// Feed it to SubRip subtitles
if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'')).indexOf(' , ') == 0) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'')).replace(/^\ \ \,\ \ /g,'').replace(/^\%20\%20\%2C\%20\%20/g,''));
} else {
location.href='//www.rjmprogramming.com.au/HTMLCSS/video_commentary.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'')));
}
exit;
} else if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/')).indexOf(',') != -1) {
if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'')).toLowerCase().indexOf('notgo') != -1) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?thelist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace('notgo','').replace('NOTGO','').replace('Notgo','')));
} else {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?andgo=y&thelist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'').replace(/^\%20/g,'')));
exit;
}
} else if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au/').replace('.au%20','.au/').split('rjmprogramming.com.au/')[1].replace(/^index\.php/g,'').replace(/^index\.html/g,'').replace(/^index\.htm/g,'')).toLowerCase().indexOf('ask') != -1) {
location.href='//www.rjmprogramming.com.au/HTMLCSS/swipe_media.html?ask=y';
exit;
}
}
See what we mean, in the table below …
| Redirects to YouTube API Radio Play suiting (web browser address bar containing) Born to Run*4,Jungleland*3 |
|---|
| YouTube API Radio Play of Born to Run*4,Jungleland*3 |
| Redirects to YouTube API Video Commentary suiting (web browser address bar containing) Born to Run*4 , Jungleland*3 … just calling … so far … |
| Video Commentary of Born of Run*4 , Jungleland*3 |
| Redirects to YouTube API Song Lyric Faux Pas suiting (web browser address bar containing) , Born to Run*4 , Jungleland*3 … just calling … so far … |
| Song Lyric Faux Pas of , Born to Run*4 , Jungleland*3 |
Still to go, to go further, is to code within the SubRips for understanding a potential new incoming argument …
?inlist=[encoded " , " based data]
… based input, but that is for another day!
If this was interesting you may be interested in this too.
If this was interesting you may be interested in this too.



