MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 29: Line 29:
}
}


// Report page height to parent when embedded
// Report page height to parent when embedded in an iframe
( function () {
( function () {
   if ( !window.location.search.includes( 'embed=1' ) ) return;
   if ( window === window.top ) return; // not in an iframe
 
   function sendHeight() {
   function sendHeight() {
     window.parent.postMessage( { embedHeight: document.body.scrollHeight }, '*' );
     var h = document.body ? document.body.scrollHeight : 0;
    if ( h > 0 ) window.parent.postMessage( { embedHeight: h }, '*' );
   }
   }
   mw.hook( 'wikipage.content' ).add( function () {
   mw.hook( 'wikipage.content' ).add( function () {
     sendHeight();
     sendHeight();
Line 40: Line 43:
     setTimeout( sendHeight, 1500 );
     setTimeout( sendHeight, 1500 );
   } );
   } );
} )();


// Forward anchor link clicks to parent page scroll
  // Also intercept anchor clicks for scroll forwarding
( function () {
  if ( !window.location.search.includes( 'embed=1' ) ) return;
   document.addEventListener( 'click', function ( e ) {
   document.addEventListener( 'click', function ( e ) {
     var link = e.target.closest( 'a' );
     var link = e.target.closest( 'a' );