S5 1.1a4

Published 13 years, 3 months ago

Hooray, we’re up to 1.1a4!  The only real change here is that I’ve added a “what do you want to hide, the controls or just the popup menu?” feature.  This is handled with the following meta element:

<meta name="controls" content="hide" />

That will hide all the controls.  The default behavior is “show”, which shows the controls but not the menu.  The testbed file is currently set to hide the controls by default.

Only here’s the problem: the modifications I made broke the system in IE/Win.  It returns the ever-so-helpful message “Unknown runtime error” and a line number that doesn’t seem to make any sense to me, so I’m not sure exactly what’s broken, nor why.  Assistance appreciated. Okay, that problem got fixed with a rename suggested by Michael Moncur.  The problem now is the control menu doesn’t appear when you mouse over the lower right corner, although the controls show up okay.  This may be my fault, but help in figuring out how to make IE/Win consistent with Safari and Firefox is needed.  Thanks. Those of you using Safari or Firefox will see things as intended, at least until the IE/Win thing is fixed.  I’m especially interested in feedback regarding how the controls reveal and hide themselves in the testbed presentation.

I suspect I’m getting close to the end of feature additions for v1.1; at this point, I’d like to clear up any lingering bugs, possibly rework how the default settings are represented in the meta elements (but not their intent), and write up a quick guide on creating and using themes.  I think that will be more than enough.  I don’t want to try to tack on too much at once with each revision.

  1. […] mments: RSS2.0 Nov.17.2004 S51.1a4 is out. ¶ Entered at 07:14:32 PM in Open Source & LinkTos & Web Standar […]

  2. The line number refers to this chunk of code

    controlsDiv.innerHTML = ‘<form action=”#” id=”controlForm”‘ + hideDiv + ‘>’ +
    ‘<div id=”navButtons”>’ +
    ‘<a accesskey=”t” id=”toggle” href=”javascript:toggle();”>&#216;< /a>’ +
    ‘<a accesskey=”z” id=”prev” href=”javascript:go(-1);”>&laquo;< /a>’ +
    ‘<a accesskey=”x” id=”next” href=”javascript:go(1);”>&raquo;< /a>’ +
    ‘< /div>’ +
    ‘<div id=”navList”‘ + hideList + ‘><select id=”jumplist” onchange=”go(‘j’);”>< /select>< /div>’ +
    ‘< /form>’;

  3. Whoops thought that might happen. Feel free to tidy that up.
    I’ve never understood how IE reports line numbers in JS, but thats the line the debugger took me too, ie within function createControls()

  4. I believe the problem is that IE is confusing your meta tag with the name ‘controls’ with the DIV with the ID ‘controls’. This is stupid, but when I change the meta tag name, it eliminates the error in IE.

    It shows as an outline in IE instead of as a slideshow, though. Don’t know why.

  5. That was it, Michael. Thanks. Now we just need to figure out how to make the menu show up in IE/Win when it’s hovered over, which it doesn’t do right now.

  6. Nevermind the second thing I said – I was using a borked copy of the testbed saved from IE. Changing the meta name from “controls” does indeed fix the problem.

    And the controls show/hide correctly after I changed ‘controls’ in slides4.js line 440 to match the new meta name.

  7. Glad it works! I’m looking at the menu issue, not sure what’s going on there.

  8. Ah! If the controls are hidden, it only assigns the ‘hideme’ class to the navButtons DIV (and the showHide() function only shows/hides one item anyway). If the controls are visible, it assigns ‘hideme’ to the jumplist, which I have to assume you put there to make IE work at some point.

    Firefox and Opera work because of the code in pretty.css:

    div#controls #navList #jumplist {visibility: hidden; background: #DDD; color: #227;}
    div#controls #navList:hover #jumplist {visibility: visible;}

    IE doesn’t support :hover on non-links, right?

    So the solution should be to (1) assign “hideme” to both jumplist and navButtons, and (2) modify showHide() to use a loop and support more than one object with the class.

    Or maybe assign ‘hideme’ to controlForm? But this doesn’t work when I try it.

  9. It works for me when I assign ‘hideme’ to both and make showHide() do both objects. The menu and buttons are locked together instead of disappearing/appearing independently, though. You could give them separate event handlers to fix that.

    Still works in Firefox except for the same slight behavior change.

  10. The current testbed has an “Expanding The Field” slide, whose bullet points are highlighted sequentially as expected.

    The next slide is “Expanding The Field II”, but the list contents seem to be identical; and the bullet point highlighting breaks when it reaches the nested ul element: all the bullet points are highlighted at once.

    From that point on, bullet points are no longer sequentially highlighted.

  11. Can you force external links to open in a new document? It is particularly annoying when one’s place in the presentation isn’t remembered because of the nature of this scheme, and hitting the back arrow returns one to the first slide. (FF 1.0 on Mac OS X)

  12. Michael: Thanks again. I thought that was the problem but for some reason I just couldn’t find the :hover rule (not even with find-and-replace). I was probably mistyping or something. Anyway, I’m going to have to think about how I want to tackle this problem for a bit, and then do so. This will be another good opportunity for me to teach myself JavaScript.

    Peter: Absolutely. Just drop back to XHTML 1.0 Transitional and use good old base targethttp://www.w3.org/TR/xhtml1/dtds.html#dtdentry_xhtml1-transitional.dtd_base — or else use a tabbed browser and hold down the “open in new tab” key when you click on an external link (this is what I usually do). I’ll make S5 1.1 accept any XHTML 1.x flavor, and will probably have 1.0 do the same retroactively.

  13. Peter you could give an external link a rel=”external” and then use this bit of javascript to make those links open in a new window – and still use xhtml 1.1 :D


  14. Perfect! Thanks, Dave.

Leave a Comment

Management reserves the right to edit or remove any comment, especially when abusive or irrelevant to the topic at hand. HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <em> <i> <q cite=""> <s> <strong> <pre class=""> <kbd>

Comment Preview

If you're satisfied with what you've written, then go ahead...