1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // Licensed under a BSD license. See license.html for license
- /* eslint-disable strict */
- 'use strict'; // eslint-disable-line
- ( function () {
- if ( window.frameElement ) {
- // in iframe
- document.querySelectorAll( 'a' ).forEach( a => {
- // we have to send all links to the parent
- // otherwise we'll end up with 3rd party
- // sites under the frame.
- a.addEventListener( 'click', e => {
- // opening a new tab?
- if ( a.target === '_blank' ) {
- return;
- }
- // change changing hashes?
- if ( a.origin !== window.location.origin || a.pathname !== window.location.pathname ) {
- e.preventDefault();
- }
- window.parent.setUrl( a.href );
- } );
- } );
- window.parent.setTitle( document.title );
- } else {
- if ( window.location.protocol !== 'file:' ) {
- const re = /^(.*?\/manual\/)(.*?)$/;
- const [ , baseURL, articlePath ] = re.exec( window.location.href );
- const href = `${baseURL}#${articlePath.replace( '.html', '' )}`;
- window.location.replace( href ); // lgtm[js/client-side-unvalidated-url-redirection]
- }
- }
- if ( window.prettyPrint ) {
- window.prettyPrint();
- }
- // help translation services translate comments.
- document.querySelectorAll( 'span[class=com]' ).forEach( elem => {
- elem.classList.add( 'translate', 'yestranslate' );
- elem.setAttribute( 'translate', 'yes' );
- } );
- if ( window.threejsLessonUtils ) {
- window.threejsLessonUtils.afterPrettify();
- }
- }() );
- // ios needs this to allow touch events in an iframe
- window.addEventListener( 'touchstart', {} );
|