diff options
-rw-r--r-- | lib/LXRng/Context.pm | 2 | ||||
-rw-r--r-- | lib/LXRng/Web.pm | 2 | ||||
-rw-r--r-- | tmpl/release_select.tt2 | 4 | ||||
-rw-r--r-- | webroot/.static/js/lxrng-funcs.js | 10 |
4 files changed, 10 insertions, 8 deletions
diff --git a/lib/LXRng/Context.pm b/lib/LXRng/Context.pm index 959151b..ab8d9f2 100644 --- a/lib/LXRng/Context.pm +++ b/lib/LXRng/Context.pm @@ -86,7 +86,7 @@ sub new { $$self{'tree'} = $args{'tree'}; } - if ($$self{'tree'} =~ s/[+]([^+]*)$//) { + if ($$self{'tree'} =~ s/[+](.+)$//) { $$self{'release'} = $1 if $1 ne '*'; } diff --git a/lib/LXRng/Web.pm b/lib/LXRng/Web.pm index 20ff899..2c72282 100644 --- a/lib/LXRng/Web.pm +++ b/lib/LXRng/Web.pm @@ -240,7 +240,7 @@ sub source { 'pjx_load_file' => '', 'pjx_load_fragment' => '', 'pjx_releases' => ''); - $pjx->js_encode_function('escape'); + $pjx->js_encode_function('encodeURIComponent'); if ($context->prefs and $context->prefs->{'navmethod'} eq 'ajax') { print($query->header(-type => 'text/html', diff --git a/tmpl/release_select.tt2 b/tmpl/release_select.tt2 index 2e12023..9172e24 100644 --- a/tmpl/release_select.tt2 +++ b/tmpl/release_select.tt2 @@ -1,8 +1,8 @@ <select name="v" id="v" onchange="update_version(this, '[% context.base_url %]', '[% context.tree %]', '[% context.default_release %]', '[% context.path %]');"> [% FOREACH v = context.all_releases %] - <option value="[% v %]" + <option value="[% v | uri %]" [% IF v == context.release %]selected="selected"[% END %]> - [% v %]</option> + [% v | html %]</option> [% END %] </select> diff --git a/webroot/.static/js/lxrng-funcs.js b/webroot/.static/js/lxrng-funcs.js index 5da1ef9..24e956d 100644 --- a/webroot/.static/js/lxrng-funcs.js +++ b/webroot/.static/js/lxrng-funcs.js @@ -327,12 +327,14 @@ function load_content() { return false; } var tree = location.hash.split('/', 1); - tree = tree[0].split(/[+]/); + tree[0].match(/^(.+?)([+](.*)|)$/); + tree = RegExp.$1; + var ver = ''; - if (tree.length > 1) { - ver = tree[1]; + if (RegExp.$2) { + ver = RegExp.$3; } - tree = tree[0].replace(/^#/, ''); + tree = tree.replace(/^#/, ''); var file = location.hash.replace(/^[^\/]*\/?/, ''); var line = file.split('#L'); if (line.length > 1) { |