Thanks Karl , oh yeah, I got part of my investigation right but I
misunderstood the meaning and functional importance of those hashes.
Interesting, huh? So the site is saying, this onclick is spliced into
the middle. The code that the handler runs simply records where they
came from (for who knows why - for some reason like tracking the
relative popularity of site sections as part of SEO), and then
it is expecting to hand back control to regular hyperlinks to go to the
new destination.
On Wed, 22 Nov 2017, Karl Dahlke wrote:
Karl, you asked about the site oranges.com and said links aren't working
There is something going on with the attribute data-source,
Yes, you're right, this is a problem that we must fix. I'll write more on that
later.
Oddly enough, that's not why the link doesn't work.
I can set the attribute as it should be via jdb, and still the link doesn't
work.
The onclick function returns nothing, and it should return true or false.
I interpret nothing as false, and the hyperlink does not run.
This is a real world website, so I guess I should interpret undefined as true,
and move forward with the link.
Similar comments apply for submitting a form etc.
My last push makes this minor yet important change.
It's possible that a lot of links on a lot of websites will start working.
Here are the comments that I added to the source.
/*********************************************************************
run_function_bool()
This function is typically used for handlers: onclick, onchange, onsubmit,
onload, etc.
The return value is sometimes significant.
If a hyperlink has an onclick function, and said function returns false,
the hyperlink is not followed.
If onsubmit returns false the form does not submit.
And yet this opens a can of worms. Here is my default behavior for corner cases.
I generally want the browser to continue, unless the function
explicitly says false, or fails.
the function doesn't exist. (false)
The function encounters an error during execution. (false)
The function returns a bogus type like object, or a string like foo
that is not true or false. (true)
The function returns undefined. (true)
*********************************************************************/
Karl Dahlke
_______________________________________________
Edbrowse-dev mailing list
[email protected]
http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev
--------
Kevin Carhart * 415 225 5306 * The Ten Ninety Nihilists
_______________________________________________
Edbrowse-dev mailing list
[email protected]
http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev