MediaWiki:공통.js
MediaWiki:이것은 모든 사용자를 위한 JavaScript입니다.이 페이지에 대한 변경 사항은 먼저 토크 페이지 또는 Village 펌프에서 제안해야 합니다. 변경은 몇 분 이내에 표시됩니다.여기서 실수를 하면 전체 백과사전이 중단될 수 있으므로, 반드시 자신이 무엇을 하고 있는지 알아야 합니다. 테스트는 personal common.js 또는 스킨 고유의 JS 파일에서 수행할 수 있습니다. |
/** * MediaWiki에서 코드 유지:common.js는 무조건 최소입니다. * 모든 Wiki 페이지에 모든 사용자에 대해 로드됩니다.가능하면 다음과 같은 가젯을 만듭니다. * 여기에 추가하는 대신 기본적으로 활성화됩니다(가젯이 완전히 사용 가능). * 종속성을 추가할 수 있는 최적화된 Resource Loader 모듈) * * Common.js는 가젯이 아니기 때문에 선언할 곳이 없습니다. * 의존관계이므로 온 디맨드를 사용하여 mw.120을 사용하여 천천히 로드해야 합니다. * 그 후 콜백에서 나머지를 실행합니다.대부분의 경우 이러한 의존관계는 * 이미 로드(또는 로드)되어 있어 콜백이 지연되지 않습니다.a의 경우 * 의존관계는 아직 도착하지 않았습니다.이전에 로딩이 완료됩니다. */ /* 글로벌MW, $*/ /* jshint strict: false, 브라우저: true */ 음.로더.사용.( [ 'mediawiki.http' ] ).다 했어요.( 기능. () { /* 콜백을 사용한mw.loader.의 시작*/ /** * addPortletLink를 mw.util에 매핑합니다. * @권장되지 않음:대신 mw.util.addPortletLink를 사용합니다. */ 음.로그..추천하지 않다( 윈도, 'Add Portlet Link', 음.이용하다.add Portlet Link, 대신 mw.util.addPortletLink를 사용합니다. ); /** * 요소에 특정 클래스가 있는지 테스트합니다. * @권장되지 않음:$(element)를 사용합니다.대신 hasClass()를 사용합니다. */ 음.로그..추천하지 않다( 윈도, '클래스', 기능. ( 요소, 클래스명 ) { 돌아가다 $( 요소 ).has클래스( 클래스명 ); }, '대신 jQuery.hasClass() 사용' ); /** * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL * @rev 6 */ 변화하다 엑스트라 CSS = 음.이용하다.getParamValue 값( 'CSS 사용' ), 엑스트라 JS = 음.이용하다.getParamValue 값( 'with JS' ); 한다면 ( 엑스트라 CSS ) { 한다면 ( 엑스트라 CSS.경기( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) { 음.로더.장전( '/w/index.filename?filename=' + 엑스트라 CSS + '&action=raw&ctype=텍스트/css', '텍스트/CSS' ); } 또 다른 { 음.알리다( 'MediaWiki 네임스페이스의 페이지만 허용됩니다.', { 직함: 'CSS 값으로 유효하지 않습니다.' } ); } } 한다면 ( 엑스트라 JS ) { 한다면 ( 엑스트라 JS.경기( /^MediaWiki:[^ & < > = % # ]*\.disc $ / ) ) { 음.로더.장전( '/w/index.filename?filename=' + 엑스트라 JS + '&action=raw&ctype=text/script' ); } 또 다른 { 음.알리다( 'MediaWiki 네임스페이스의 페이지만 허용됩니다.', { 직함: 'JS 값으로 유효하지 않습니다.' } ); } } /** * Wiki Mini Atlas * * 설명:WikiMiniAtlas는 팝업 클릭 및 드래그 세계지도입니다. * 이 스크립트를 사용하면 모든 좌표 링크에 WikiMiniAtlas 팝업 버튼이 표시됩니다. * 스크립트 자체는 많은 프로젝트에서 사용되고 있기 때문에 Meta-Wiki에 있습니다. * '메타:자세한 것은, WikiMiniAtlas] 를 참조해 주세요. * 참고 - 이 서비스를 mw로 대체하는 것이 좋습니다.도움말: 내선번호:카트그래퍼 */ $( 기능. () { 변화하다 wikiminiatlas를 필요로 하다 = $( 'a.17'텍스트[href*="geohack"]' ).길이 $( 'div.kmldata' ).길이; 한다면 ( wikiminiatlas를 필요로 하다 ) { 음.로더.장전( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' ); } } ); /** * 접이식 테이블, mw-collapable로 재실장 * FUC를 피하기 위한 스타일링도 준비되어 있습니다. * * 테이블을 축소하여 헤더만 표시할 수 있습니다.[도움말] 참조:무너지고 있다]] * @version 3.0.0 (2018-05-20) * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js * @author [[사용자:R.[쿠트] * @author [[사용자:Krinkle] * @author [[사용자:DJ ] * @MediaWiki 1.20 이후 사용되지 않음: 대신 class="mw-inclosible"을 사용합니다. *는 MediaWiki 코어에서 지원됩니다.미디어위키 1.32 이후 심모블 * * @param {jQuery} $콘텐츠 */ 기능. makeCollapsibleMwCollapsible( $콘텐츠 ) { 변화하다 $140 = $콘텐츠 .발견하다( 'table.componible:not'mw-componible)' ) .클래스 추가( 'MW 불가' ); $.각각( $140, 기능. ( 색인, 테이블 ) { // mw.log.warn( '이 페이지는 폐지된 클래스 축소 가능을 사용하고 있습니다.mw-collapsible'로 대체하십시오. 한다면 ( $( 테이블 ).has클래스( '실패' ) ) { $( 테이블 ).클래스 추가( 'mw-mw-module' ); // mw.log.warn( '이 페이지는 폐지된 클래스를 사용하고 있습니다.mw-collassed'로 바꿔주세요. } } ); 한다면 ( $140.길이 > 0 ) { 음.로더.사용.( 'jquery.makeCollapsible' ).그리고나서( 기능. () { $140.콜라보러블하게 하다(); } ); } } 음.후크( 'contentage.content' ).더하다( makeCollapsibleMwCollapsible ); /** * 자기콜랩스, 내부콜랩스 및 외부콜랩스에 대한 지원 추가 * * 메인터너:디제이 */ 기능. mwCollapsible 셋업( $collapsable 콘텐츠 ) { 변화하다 $140, $140, 자동 축소임계값 = 2; $.각각( $collapsable 콘텐츠, 기능. ( 색인, 요소 ) { $140 = $( 요소 ); 한다면 ( $140.has클래스( '불가능' ) ) { $140.발견하다( 'tr:first>th:first' ).프리펜드( $140.발견하다( 'tr:first > * > .mw-completible-complete' ) ); } 한다면 ( $collapsable 콘텐츠.길이 >= 자동 축소임계값 & & $140.has클래스( '후유증' ) ) { $140.데이터.( 'MW 불가' ).무너지다(); } 또 다른 한다면 ( $140.has클래스( 'collapse' ) ) { 한다면 ( $140.부모님( '.collapse' ).길이 > 0 ) { $140.데이터.( 'MW 불가' ).무너지다(); } } // 배경에 색상이 있으므로 링크를 텍스트 색상으로 스타일링합니다. // 접근 가능한 콘트라스트를 위해 $140 = $140.발견하다( '.mw-inclosible-inclosed' ); 한다면 ( $140.길이 ) { // 텍스트 색상 상속 전환 한다면 ( $140.부모()[ 0 ].스타일..색. ) { $140.발견하다( 'a' ).css( '컬러', '실패' ); } } } ); } 음.후크( 'wikipage.collapsible Content' ).더하다( mwCollapsible 셋업 ); /** * Magic editintros **************************************************** * * 설명:명확화 페이지 및 BLP 페이지에 편집 내용을 추가합니다. * 메인터넌스: [[사용자:Rock MFR ] * * @module {string} 이름 */ 기능. add Edit Intro( 이름. ) { $( '.mw-edit section, #ca-edit, #ca-ve-edit' ).발견하다( 'a' ).각각( 기능. ( i, 엘 ) { 엘.href = $( 이것. ).특성( 'href' ) + '&editintro=' + 이름.; } ); } 한다면 ( 음.설정.얻다( 'wg Namespace Number' ) === 0 ) { $( 기능. () { 한다면 ( 문서.요소 취득 기준아이디( 'dismark box ) ) { add Edit Intro( '템플릿:모호성_editintro' ); } } ); $( 기능. () { 변화하다 고양이 = 음.설정.얻다( 'wg 카테고리' ); 한다면 ( !고양이 ) { 돌아가다; } 한다면 ( $.어레이 내( '살아있는 사람들', 고양이 ) !== -1 $.어레이 내( '아마도 살아있는 사람들', 고양이 ) !== -1 ) { add Edit Intro( '템플릿:BLP_editintro' ); } } ); } /* 편집 페이지에 고유한 작업 */ 한다면 ( 음.설정.얻다( 'wg액션' ) === '편집' 음.설정.얻다( 'wg액션' ) === '실패' ) { /** * 취소에 대한 요약 편집 프롬프트 수정 * * "no edit summary promptter"와 결합된 실행 취소 기능을 수정합니다. * 편집 요약을 변경하지 않으면 편집 요약 누락에 대한 불만이 제기됩니다. * [사용자명]에 의해 추가되었습니다.[Deskana]), 코드 [사용자:[Tra]] * 'phab'도 참조해 주세요.T10912] ] 。 */ $( 기능. () { 한다면 ( 문서.위치.서치.색인( 'syslog=' ) !== -1 & & 문서.getElementsByName( 'wpAutoSummary' )[ 0 ] ) { 문서.getElementsByName( 'wpAutoSummary' )[ 0 ].가치 = '1'; } } ); } /* 콜백을 사용한mw.loader.의 종료*/ } ); /* 이 행 아래에 코드를 추가하지 마십시오 */