Brion VIBBER has submitted this change and it was merged. Change subject: Don't crash when a reference is clicked ......................................................................
Don't crash when a reference is clicked Change-Id: I9f28f8b0be702503579d4a97ce22cff30d21f7cd --- M wikipedia/assets/bundle.js M wikipedia/assets/preview.js M www/js/actions.js M www/preview.js 4 files changed, 28 insertions(+), 4 deletions(-) Approvals: Brion VIBBER: Verified; Looks good to me, approved diff --git a/wikipedia/assets/bundle.js b/wikipedia/assets/bundle.js index 98ac29b..84e36b6 100644 --- a/wikipedia/assets/bundle.js +++ b/wikipedia/assets/bundle.js @@ -23,7 +23,13 @@ handlers[i]( event.target, event ); } } else { - bridge.sendMessage( 'linkClicked', { href: event.target.getAttribute( "href" ) }); + var href = event.target.getAttribute( "href" ); + if ( href[0] === "#" ) { + // If it is a link to an anchor in the current page, just scroll to it + document.getElementById( href.substring( 1 ) ).scrollIntoView(); + } else { + bridge.sendMessage( 'linkClicked', { "href": href } ); + } event.preventDefault(); } } diff --git a/wikipedia/assets/preview.js b/wikipedia/assets/preview.js index 1e8c969..e6f488c 100644 --- a/wikipedia/assets/preview.js +++ b/wikipedia/assets/preview.js @@ -23,7 +23,13 @@ handlers[i]( event.target, event ); } } else { - bridge.sendMessage( 'linkClicked', { href: event.target.getAttribute( "href" ) }); + var href = event.target.getAttribute( "href" ); + if ( href[0] === "#" ) { + // If it is a link to an anchor in the current page, just scroll to it + document.getElementById( href.substring( 1 ) ).scrollIntoView(); + } else { + bridge.sendMessage( 'linkClicked', { "href": href } ); + } event.preventDefault(); } } diff --git a/www/js/actions.js b/www/js/actions.js index f255072..fdfe383 100644 --- a/www/js/actions.js +++ b/www/js/actions.js @@ -22,7 +22,13 @@ handlers[i]( event.target, event ); } } else { - bridge.sendMessage( 'linkClicked', { href: event.target.getAttribute( "href" ) }); + var href = event.target.getAttribute( "href" ); + if ( href[0] === "#" ) { + // If it is a link to an anchor in the current page, just scroll to it + document.getElementById( href.substring( 1 ) ).scrollIntoView(); + } else { + bridge.sendMessage( 'linkClicked', { "href": href } ); + } event.preventDefault(); } } diff --git a/www/preview.js b/www/preview.js index 1e8c969..e6f488c 100644 --- a/www/preview.js +++ b/www/preview.js @@ -23,7 +23,13 @@ handlers[i]( event.target, event ); } } else { - bridge.sendMessage( 'linkClicked', { href: event.target.getAttribute( "href" ) }); + var href = event.target.getAttribute( "href" ); + if ( href[0] === "#" ) { + // If it is a link to an anchor in the current page, just scroll to it + document.getElementById( href.substring( 1 ) ).scrollIntoView(); + } else { + bridge.sendMessage( 'linkClicked', { "href": href } ); + } event.preventDefault(); } } -- To view, visit https://gerrit.wikimedia.org/r/115958 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I9f28f8b0be702503579d4a97ce22cff30d21f7cd Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits