LLWiki正在建设中,欢迎加入我们!
User:Bhsd/widget/outerImage.js
跳转到导航
跳转到搜索
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
//<nowiki>
// 用于[[Widget:OuterImage]],可以使用ES6语法
/**
* @Function: 插入外部图片
* @Author: [[User:Bhsd]]
*/
"use strict";
/* global mw, $ */
(() => {
const errorFunc = function() { $(this).closest( 'div' ).addClass( 'badImage' ); },
main = ($content) => {
const $images = $content.find( '.outerImage img' ).on('error', errorFunc); // error事件不会冒泡
if ($images.length === 0) { return; }
console.log('Hook: wikipage.content, 开始插入外部图片');
$images.filter(function() { return this.complete && this.naturalWidth === 0; }).trigger( 'error' );
},
handler = () => {
mw.widget = mw.widget || {};
if (mw.widget.outerImage) { return; }
mw.hook( 'wikipage.content' ).add(main);
mw.widget.outerImage = true;
};
if (window.jQuery) { handler(); }
else { window.addEventListener('jquery', handler); }
}) ();
//</nowiki>
// [[category:jQuery小部件]] {{DEFAULTSORT:outerImage.js}}