edbrowse-dev - development list for edbrowse
 help / color / mirror / Atom feed
From: Kevin Carhart <kevin@carhart.net>
To: Edbrowse-dev@lists.the-brannons.com
Subject: [Edbrowse-dev] data-* attributes / new work on RC
Date: Fri, 24 Nov 2017 16:20:02 -0800 (PST)	[thread overview]
Message-ID: <alpine.LRH.2.03.1711241515150.5490@carhart.net> (raw)
In-Reply-To: <20171024161945.eklhad@comcast.net>



Thank you for figuring out the attributes and exceptions!

Well I certainly feel efficient, because during this time, I had another 
look at radiocaroline and I found a couple of good ones.

I did about six things entirely in startwindow, and I'm sending you my 
revised startwindow file.  Since attachments are no good, could you 
retrieve it from...
http://carhart.net/~kevin/startwindow_20171124.zip

I made sure to grab the latest edbrowse, with the attribute change 
(63c049f1f6253f952636270be62761dfeeb37281) so hopefully there will not be 
a collision.

Here are the changes:
(1) I added an element called Audio in the three places that the litany of 
element names appears.  Some of radiocaroline's javascript files try 
to instantiate new Audio()

(2) I set up localStorage.  What does localStorage do for developers that 
isn't already satisfied by cookies?  I don't know, but 
radiocaroline wants to use it. 
It expects to call setItem, getItem and removeItem.  So I just made a 
localStorage object and made those three methods into aliases for 
setAttribute, getAttribute and removeAttribute.

(3) Added 'onload' in addition to 'onreadystatechange' in the 
XMLHttpRequest code.  Apparently onreadystatechange is associated with out 
of date browsers, and newer versions of jquery (>=2) have switched to 
onload.  I hope this change will make ajax on some other sites succeed.

(4) Add 'Image' to the short list of element types that gets the addEvent 
code added to its prototype.  Radiocaroline has an onclick on an Image.

(5) I added a brick of eb$nullfunction stubs for a lot of Canvas methods, 
in place of the three or four that we had.  Radiocaroline calls a 
canvas-related library, which wants several of these to be there.  I 
started out by making a stub for one, compile, try again, and it would 
raise an error on the next one.  So that's why I added the whole list.

(6) I added encodeURI to the XHR code.  There is an ajax request for some 
JSON in the radiocaroline code, and it appends Date(), I think because 
this is a trick to avoid cacheing.  Usually those types of appends are in 
timestamp style, but this one comes out like 'Nov 23 2017'.  Then the CURL 
action was failing because the spaces in the request weren't encoded.

hope some of these will be good... try out radio caroline after applying - 
the menus show up via ajax!  Unfortunately the links lead you into a black 
hole which I'd like to discuss separately, but one thing at a time.

K


On Fri, 24 Nov 2017, Karl Dahlke wrote:

> I have addressed the problem uncovered by Kevin, wherein foo=bar in an html tag does not make it over to the js world.
> Well it doesn't get there because I didn't implement it. Just didn't do it.
> The only tricky part here is identifying all the exceptions.
> Example <a style="style directives">
> we have special code to manage this, creating a style object under the a object, then in that style object things like background=red and so on,
> and if I then mindlessly set style to its string, as if it was foo=bar, then all that work is thrown away and it doesn't work.
> Same comments for onclick = some javascript function, which actually compiles the function and puts that in under onclick, and you wouldn't want that thrown away and replaced with its string.
> So there's a list of exception attributes that we manage specialy, and if not in this list, then I go ahead and set object.attribute=value.
> The cookie set by oranges.com when you go somewhere else should now be correct, for whatever that's worth.
> As always, we hope this makes a few other things work too.
>
> Karl Dahlke
>

--------
Kevin Carhart * 415 225 5306 * The Ten Ninety Nihilists

  reply	other threads:[~2017-11-25  0:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-16 12:29 [Edbrowse-dev] Tidy error reporting Karl Dahlke
2017-11-22  8:43 ` [Edbrowse-dev] data-* attributes Kevin Carhart
2017-11-22  9:33   ` Kevin Carhart
2017-11-22 15:48   ` Karl Dahlke
2017-11-22 21:36     ` Kevin Carhart
2017-11-23  1:23       ` Kevin Carhart
2017-11-24 21:19   ` Karl Dahlke
2017-11-25  0:20     ` Kevin Carhart [this message]
2017-11-25  0:56       ` [Edbrowse-dev] data-* attributes / new work on RC Karl Dahlke
2017-11-25  1:15         ` Kevin Carhart
2017-11-25  1:22           ` Karl Dahlke
2017-11-25  1:44             ` Kevin Carhart
2017-11-25  2:28               ` Karl Dahlke
2017-11-25  3:10                 ` Kevin Carhart
2017-11-25  5:02                   ` Karl Dahlke
2017-11-25  5:35                     ` Kevin Carhart
2017-11-26 13:14               ` Karl Dahlke
2017-11-27  1:03                 ` Kevin Carhart
2017-11-27  1:48                 ` Kevin Carhart
2017-11-27  2:58                   ` Karl Dahlke
2017-11-27  3:37                     ` Kevin Carhart
2017-11-26 22:43               ` Karl Dahlke
2017-11-27  3:19                 ` Kevin Carhart
2017-11-27  4:23                   ` Karl Dahlke
2017-11-27  4:51                     ` Kevin Carhart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LRH.2.03.1711241515150.5490@carhart.net \
    --to=kevin@carhart.net \
    --cc=Edbrowse-dev@lists.the-brannons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).