Phase-out Planning for JavaScript-Based Scheme Support

As one method of implementing a new URI scheme so that it may be
used with (most of) the existing base of deployed web browsers,
JavaScript may be considered.  That is, any document containing
links using the new scheme may also pass a JavaScript resolver for
the scheme to the client.
 
In our work with the bibp: scheme and the corresponding "bibliographic
protocol" we have taken this approach.
 
However, we would like to plan for future client-side developments,
including the possibility of native (or plug-in) bibp support.
 
As part of our planning, we have attempted to implement our
resolver using only those JavaScript features that are standard
ECMAscript or may be considered to be standards-track.
                                                                                
However, we would also like the JavaScript resolver to "phase itself
out" in the event that the client has (presumably superior) native
support.  At present, we have included the following code in our
resolver.
if (typeof(navigator.bibpSupport) == "undefined") {
  window.onload = BibP_onLoad}
If the bibpSupport property is undefined then our resolver is 
enabled upon document loading.  But if a future browser implementation
defines this property, the JavaScript resolver is disabled.

By phasing out the JavaScript resolver, we also hope to improve
our protocol in subsequent versions.

Is there any interest in a generic capability that would allow
similar phase-out planning for JavaScript implementations of
other URI schemes?  Is there a better way of doing it?

Received on Monday, 5 February 2001 12:31:31 UTC