If you are using a laptop and following our thread of โDo It Yourself HTML Editorโ blog postings, you may benefit from todayโs progress on our web application. We allow for the linking of yesterdayโs Cursor Positioned HTML dropdown helpers, introduced with Do It Yourself HTML Textarea Editor Cursor Tutorial as shown below, to a keyboard shortcut in the order โฆ
- Ctrl key (or Mac equivalent) (separated please) to the key letter starting that HTML element you are selecting via a dropdown eg. <p></p> could have a shortcut key Ctrl_P โฆ or if already used โฆ
- Alt key (or Mac equivalent) (separated please) to the key letter starting that HTML element you are selecting via a dropdown eg. <span></span> could have a shortcut key Alt_S
A strong advantage using these (Cookieโable) shortcuts is that you might be able to swing it to have the cursor stay where you want it in the HTML textarea element more often.
We would like to thank this wonderful webpage for some direction with this work, which was more involved than we thought it would be, and maybe too long in code changes to encapsulate here. In which case, it would be better to examine the HTML and Javascript you could call do_away_with_the_boring_bitshtml and which changed from yesterday for shortcut key functionality in thisway, mainly regarding the organization of document onkeyup (keyboard) event logic. And, as per usual, here is a live
run link for you to try this yourself, we hope?!
Previous relevant Do It Yourself HTML Textarea Editor Cursor Tutorial is shown below.
If you do lots of text editing perhaps you take the โcursorโ for granted. But just as the stylus on a vinyl record makes the music in relation to its position, the equivalent of our text editing โcursorโ is that it defines where to place the next typed character. Itโs been around, as a concept, and survived, more to the point, for a long time now, as it has been around regarding much database SQL query design too. But today, for us, we are giving it some attention, because we want to โฆ
- read off the HTML textarea โeditorโ elementโs data its cursor position โฆ and also โฆ
- set the cursor position of the HTML textarea โeditorโ element after modifying its contents
That ability means that we now have the ability to offer the user of this HTML textarea โeditorโ the chance to use โhelperโ (like shortcut) HTML (select element) โdropdownโ options to optionally speed up the creation of the HTML code. We realise this โflies in the faceโ of a basic belief we have that it is good to hand code your HTML to learn it better, but the real fact is that the quicker your success, the more youโll want to try out other HTML ideas, and that makes these ideas worthwhile. These HTML drop downs are structured to mandatorily have the โฆ
- HTML element type โฆ as for <p></p> โฆ mandatory โฆ and optional, for properties like โฆ
- id
- class
- title
- style
- src
- href
- value
โฆ as well as several other property combinations, presented in combination with the HTML type whether that is apt, or not. Now, we may fix this perhaps, but we also see that it can serve a purpose to teach the HTML with trial and error thoughts as well. We see โtrial and errorโ as an incredibly important idea here. Hand coding HTML by trial and error, sometimes, particularly in combination with a web browser Web Inspector product, are a potent mix to finding out how the client side of web applications work. Pretty obviously, looking at books and search engine information, as a conduit to websites like W3schools helps a lot too.
Below are the two main functions new to the logic to get a cursor position โฆ
function wherearewe(ota) { // thanks to //stackoverflow.com/questions/2897155/get-cursor-position-in-characters-within-a-text-input-field
// Initialize
var ipos = 0;
if (document.selection) { // IE Support
// Set focus on the element
ota.focus();
// To get cursor position, get empty selection range
var oselis = document.selection.createRange();
// Move selection start to 0 position
oselis.moveStart('character', -ota.value.length);
// The caret position is selection length
ipos = oselis.text.length;
} else if (ota.selectionStart || ota.selectionStart == '0') { // Firefox support
ipos = ota.selectionStart;
}
// Return results
//alert(ipos);
return ipos;
}
โฆ and then to set a cursor position โฆ
function setwherearewe(ota, wota) { // thanks to //stackoverflow.com/questions/2897155/get-cursor-position-in-characters-within-a-text-input-field
if (ota.setSelectionRange) {
ota.setSelectionRange(wota, wota);
} else if (ota.createTextRange) {
var range = ota.createTextRange();
range.collapse(true);
range.moveEnd('character', wota);
range.moveStart('character', wota);
range.select();
}
// Return cursor position
ota.focus();
//document.title=ota.value.length + ' vs ' + wota;
return wota;
}
โฆ you can see with the HTML and Javascript you could call do_away_with_the_boring_bits.html and which changed from yesterday for textarea cursor functionality in thisway. Please feel free to try it out yourself at a liverun link.
Previous relevant Do It Yourself HTML Primer Tutorial is shown below.
It is because of yesterdayโs generic HTTP Cookie thoughts we had when we presented Job Search Grid Game Cookie Tutorial, as shown below, that makes us feel okay using โDo It Yourselfโ in the blog posting title โDo It Yourself HTML Primer Tutorialโ. Without the use of cookies what we do today is probably not worth the bother because we โฆ
- want to get you programming in HTML and Javascript and CSS, if you are curious, and have never done it before, and want to taste that incredible feeling programmers get when they โsee something workingโ โฆ so โฆ
- we get you to draft up some HTML and Javascript and CSS in an HTML textarea element โฆ and weโll talk more about the limitations here later on โฆ
- click or tap the โTry your HTML and Javascript and CSS Aboveโ button โฆ then โฆ
- see the results of your work to the right in a light blue area โฆ and โฆ
- notice up the top middle a new (and/or updated) HTML (select element) dropdown with some datetime flagged previous โHTML Editโ sessions you can recall โฆ thatโs HTTP Cookie functionality at work
The thing is about hand coded HTML, and we think you learn more by hand coding your HTML, at least in the early days, you are going to need a few goes at things to get things going, and yet, like most programmers, youโll be curious to know โdoes it work yet?โ (sound familiar to โare we there yet?โ to you?), so remember those โworthwhile coming back toโ datetime stamps, is our advice โฆ gratuitous, as always?!
Now about those restrictions to use. Alas, within the web page โheadโ section โฆ between <head> and </head> โฆ the โฆ
- good news is that all the CSS styling โฆ between <style> and </style> โฆ seems to be fine, but, alas, the โฆ
- bad news is that the Javascript scripting โฆ between <script type=โtext/javascriptโ> and </script> โฆ does not work, as of this first draft โฆ not with code between <script type=โtext/javascriptโ> and </script> between <body> and </body> โฆ but event logic defined within <body> and </body> such as onclick= works (but no โbody onload pleaseโ, nor โbody anything elseโ either โฆ just plain straight โbodyโ please)
Be that as it may, you can still see a lot happening with this arrangement, and be like us, perhaps, still in wonder at that feeling of โlook at that, it works!โ.
So, thatโs the go, and you can try it out via this liverun link and/or peruse the code behind this (just HTML and CSS and Javascript) โDo It Yourself HTML Editorโ you could call do_away_with_the_boring_bits
html yourself.
Previous relevant Job Search Grid Game Cookie Tutorial is shown below.
Yesterday we got to a point with a web project we were working on called the โJob Search Grid Gameโ (and thanks here to Science Puzzles for Young Einsteins by Helene Hovanec ISBN 0-8069-3542-1 for the inspiration) and we ended up with a game that could use Content Management System ideas whereby the user could control the content of the game. Guess you might categorize this functionality as โpersonalizationโ.
That โpersonalizationโ only lasted as long as that web browser session lasted, and there was no recourse to recall any of that user โpersonalizedโ game data settings again, but today weโve started, by using this project as the โguinea pigโ project to start down the road of seeing whether the use of HTTP cookies might assist to extend functionality for โฆ
- only users who tailor their game via that โManagementโ link down the bottom of the game โฆ and who โฆ
- use this new
live run link (rather than the old
live run link) โฆ because there are checks to see that โฆ
- functionality occurs if the calling HTML has code such as <div id=dcookies_okay><input type=hidden id=cookies_okay value=โ></input></div>
Weโve tried thoughts that are quite โgenericโ by nature here, but we have to better monitor web browser cookie usage limits, as we go further down the road, but we โฆ
- in a web browser address bar URL such as //www.rjmprogramming.com.au/HTMLCSS/job_search_grid_game.htm that bold part is combined with a reworked date and timestamp to be the โnameโ of the cookie โฆ and only if โฆ
- the web browser address bar URL must contain a โ&โ to attract any attention as a candidate for the creation of a new cookie โฆ which, if never encountered before โฆ
- placed on a dropdown โcookieโ list of game configurations that indicate the date and timestamp for reference purposes โฆ and, as for all web browser scenarios โฆ
- cookie logic only works while the user has not cleared the Browser History at their web browser
โฆ and that HTML (select element) dropdown is placed, in โoverlayโ style โฆ
- position:absolute; top:0px ; left: 300px;
- opacity: 0.7;
- zIndex: 56;
- method=GET
- action=./job_search_grid_game.html
โฆ the Javascript logic for which has been placed into some external Javascript you could call cookie_getjs that we are going to place at //www.rjmprogramming.com.au/ (document root) for maximal access purposes, and which is called by the job_search_grid_game
htm via โฆ
<script type='text/javascript' src='../../../../cookie_get.js'></script>
โฆ which is like saying any webpage out from document root to four subfolder hierarchy could all access this external Javascript with the same codeline between <head> and </head> as above, and that external Javascript uses a setTimeout function call to separate its logic from any clashes with document.body onload event logic, or any jQuery document ready logic.
Now the HTML and Javascript could be called job_search_grid_gamehtm and changed from yesterday for HTTP Cookie functionality in thisway.
We hope you get something out of these โearly daysโ HTTP Cookie thoughts, that we may apply to some of our game web applications.
Previous relevant Job Search Grid Game Tutorial is shown below.
We are always on the lookout for a good quiz or game. But what if that idea is โsort ofโ โฆ both? Well, we just had to give the dog a bone! But we digress.
This is where we have to thank Science Puzzles for Young Einsteins by Helene Hovanec ISBN 0-8069-3542-1 profusely. This book is full of wonderful brain games that combine puzzle feels with game feel and quiz feel. We normally like to shape a game based on another we stumble across, and add our own content, but, alas, the content here for todayโs game is so good, it makes my brain hurt thinking of another set to make it work. And that is where we โvalue addโ. Not with the โdefault contentโ of the game, but to value add to the experience we CMS it. So what does โCMS itโ mean? Well, โCMSโ stands for โContent Management Systemโ, and we use the principles of CMS to encapsulate all the variable aspects we can think of about this game โฆ within reason and present that in an HTML form โฆ
โฆ our usual โsuspectsโ for such goings on. So should the information not be too long, this should allow the user to set their own content for the game โฆ all you young and old Einsteins out there.
However, if you find todayโs game interesting and/or stimulating, rest assured Helene Hovanec has filled a book full of puzzles and quizzes and challenges like this, and so we would recommend you get out there and buy Science Puzzles for Young Einsteins by Helene Hovanec ISBN 0-8069-3542-1.
Within the HTML and Javascript job_search_grid_gamehtml code you will find lots of calls to Javascriptโs eval method to get a CMS job done, but not involve a serverside language โฆ does not compute โฆ whatttevvvvvvvver.
If this was interesting you may be interested in this too.
If this was interesting you may be interested in this too.
If this was interesting you may be interested in this too.
If this was interesting you may be interested in this too.
If this was interesting you may be interested in this too.