1/** 2 * Cocoon WordPress Theme 3 * @author: yhira 4 * @link: https://wp-cocoon.com/ 5 * @license: http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later 6 * 7 * ã°ã«ã¼ããããã¯ã®ãªã³ã¯åæ©è½ 8 */ 9( function () { 10 'use strict'; 11 12 function initGroupLinks() { 13 // ãªã³ã¯ã°ã«ã¼ãã®åå¾ 14 var groups = document.querySelectorAll( '.is-cocoon-group-link' ); 15 16 groups.forEach( function ( group ) { 17 var url = group.getAttribute( 'data-cocoon-group-link' ); 18 var newTab = 19 group.getAttribute( 'data-cocoon-group-link-target' ) === '_blank'; 20 21 if ( ! url ) { 22 return; 23 } 24 25 var navigate = function () { 26 // å¤å±¤é²å¾¡: å±éºãªãããã³ã«ï¼javascript:, vbscript:, data:ï¼ãããã㯠27 var sanitized = url 28 .replace( /[\u0000-\u001F\u007F-\u009F\s]+/g, '' ) 29 .toLowerCase(); 30 if ( 31 sanitized.indexOf( 'javascript:' ) === 0 || 32 sanitized.indexOf( 'vbscript:' ) === 0 || 33 sanitized.indexOf( 'data:' ) === 0 34 ) { 35 return; 36 } 37 38 if ( newTab ) { 39 window.open( url, '_blank', 'noopener,noreferrer' ); 40 } else { 41 window.location.href = url; 42 } 43 }; 44 45 // ã¯ãªãã¯æã®é·ç§»ã¤ãã³ã 46 group.addEventListener( 'click', function ( e ) { 47 // ã¦ã¼ã¶ã¼ãããã¹ã鏿ä¸ï¼ãã©ãã°ã«ãã鏿ï¼ã®å ´åã¯é·ç§»ããªã 48 var selection = window.getSelection(); 49 if ( selection && selection.toString().length > 0 ) { 50 return; 51 } 52 53 // ã¤ãã³ãã®çºçå ããèªèº«ããå å´ã«ããå¥ã®ãªã³ã¯ã¿ã¼ã²ããï¼å ¥ãåã«ãªã£ãã°ã«ã¼ããªã³ã¯ãªã©ï¼ããªãé¤å¤ 54 var clickedGroupLink = e.target.closest( '.is-cocoon-group-link' ); 55 if ( clickedGroupLink && clickedGroupLink !== group ) { 56 return; 57 } 58 59 // å é¨ã«é ç½®ããããªã³ã¯ãã¤ã³ã¿ã©ã¯ãã£ãè¦ç´ ãã¯ãªãã¯ãããå ´åã¯è¦ªã®é·ç§»ãçºç«ãããªã 60 var interactiveSelectors = 61 'a, button, input, textarea, select, details, summary, video, audio, [role="button"]'; 62 var clickedEl = e.target.closest( interactiveSelectors ); 63 if ( clickedEl && group.contains( clickedEl ) && clickedEl !== group ) { 64 return; 65 } 66 67 // 修飾ãã¼ï¼Ctrl/Cmd/Shiftï¼æ¼ä¸æã¯æ°ããã¿ãã§éã 68 // navigate() ã®å®å ¨å¤å®ï¼å±éºãããã³ã«é¤å¤ï¼ãå ±éå©ç¨ãããããnewTab ã䏿çã«ä¸æ¸ããã 69 if ( e.ctrlKey || e.metaKey || e.shiftKey ) { 70 e.preventDefault(); 71 var wasNewTab = newTab; 72 newTab = true; 73 navigate(); 74 newTab = wasNewTab; 75 return; 76 } 77 78 e.preventDefault(); 79 navigate(); 80 } ); 81 82 // ãæ³¨æããã¼ãã¼ãæä½ï¼Enter/Spaceï¼ã®ãã³ãã©ã¯ãã®ãã¡ã¤ã«ã«ã¯å«ããªãã 83 // PHPå´ï¼lib/block-editor-group-link.phpï¼ã§ã¤ã³ã©ã¤ã³ onkeydown 屿§ã¨ãã¦åºåãã 84 // this.click() ãéãã¦ä¸è¨ã® click ãªã¹ãã¼ã«å§è²ããè¨è¨ã詳細ã¯PHPå´ã®ã³ã¡ã³ããåç §ã 85 } ); 86 } 87 88 // DOMContentLoadedå¾ã«å®è¡ 89 if ( document.readyState === 'loading' ) { 90 document.addEventListener( 'DOMContentLoaded', initGroupLinks ); 91 } else { 92 initGroupLinks(); 93 } 94} )();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.