<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://docs.guohao.asia/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
	<title>MediaWiki:Common.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://docs.guohao.asia/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://docs.guohao.asia/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-05-14T15:40:29Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://docs.guohao.asia/index.php?title=MediaWiki:Common.js&amp;diff=413&amp;oldid=prev</id>
		<title>2025年4月10日 (四) 00:55 Null</title>
		<link rel="alternate" type="text/html" href="https://docs.guohao.asia/index.php?title=MediaWiki:Common.js&amp;diff=413&amp;oldid=prev"/>
		<updated>2025-04-10T00:55:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */&lt;br /&gt;
&lt;br /&gt;
// 获取所有符合条件的图片&lt;br /&gt;
//const images = document.querySelectorAll(&amp;#039;img[src*=&amp;quot;www.guohao.asia&amp;quot;]&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// 遍历图片并调整样式&lt;br /&gt;
//images.forEach(img =&amp;gt; {&lt;br /&gt;
// 获取图片的实际宽度&lt;br /&gt;
//    const naturalWidth = img.naturalWidth;&lt;br /&gt;
&lt;br /&gt;
// 根据图片宽度设置样式&lt;br /&gt;
//    if (naturalWidth &amp;lt; 600) {&lt;br /&gt;
//         img.style.maxWidth = &amp;#039;none&amp;#039;; // 移除最大宽度限制&lt;br /&gt;
//         img.style.width = &amp;#039;auto&amp;#039;;   // 使用图片的实际宽度&lt;br /&gt;
//      } else {&lt;br /&gt;
//         img.style.width = &amp;#039;80%&amp;#039;;    // 宽度大于等于450px时，设置为父容器的80%&lt;br /&gt;
//      }&lt;br /&gt;
//});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// utils.js (可单独封装)&lt;br /&gt;
const debounce = (func, delay) =&amp;gt; {&lt;br /&gt;
  let timeoutId;&lt;br /&gt;
  return (...args) =&amp;gt; {&lt;br /&gt;
    clearTimeout(timeoutId);&lt;br /&gt;
    timeoutId = setTimeout(() =&amp;gt; func.apply(this, args), delay);&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// 主逻辑&lt;br /&gt;
window.addEventListener(&amp;#039;load&amp;#039;, function() {&lt;br /&gt;
  const processImages = () =&amp;gt; {&lt;br /&gt;
    document.querySelectorAll(&amp;#039;img[src*=&amp;quot;www.guohao.asia&amp;quot;]&amp;#039;).forEach(img =&amp;gt; {&lt;br /&gt;
      if (!img.complete || img.naturalWidth === 0) return;&lt;br /&gt;
&lt;br /&gt;
      // Retina屏幕适配计算&lt;br /&gt;
      const pixelRatio = window.devicePixelRatio || 1;&lt;br /&gt;
      const effectiveWidth = img.naturalWidth / pixelRatio;&lt;br /&gt;
&lt;br /&gt;
      // 类名切换逻辑&lt;br /&gt;
      img.classList.remove(&amp;#039;img-auto&amp;#039;, &amp;#039;img-responsive&amp;#039;);&lt;br /&gt;
      img.classList.add(effectiveWidth &amp;lt; 600 ? &amp;#039;img-auto&amp;#039; : &amp;#039;img-responsive&amp;#039;);&lt;br /&gt;
    });&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  // 防抖处理动态内容&lt;br /&gt;
  const debouncedProcess = debounce(processImages, 250);&lt;br /&gt;
  &lt;br /&gt;
  // 初始执行 + 动态监听&lt;br /&gt;
  processImages();&lt;br /&gt;
  const observer = new MutationObserver(debouncedProcess);&lt;br /&gt;
  observer.observe(document.body, { subtree: true, childList: true });&lt;br /&gt;
&lt;br /&gt;
  // 容错机制：图片加载失败后重试&lt;br /&gt;
  document.addEventListener(&amp;#039;error&amp;#039;, (e) =&amp;gt; {&lt;br /&gt;
    if (e.target.tagName === &amp;#039;IMG&amp;#039; &amp;amp;&amp;amp; e.target.src.includes(&amp;#039;www.guohao.asia&amp;#039;)) {&lt;br /&gt;
      e.target.src = &amp;#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;100&amp;quot;&amp;gt;&amp;lt;/svg&amp;gt;&amp;#039;; // 占位图&lt;br /&gt;
      setTimeout(() =&amp;gt; processImages(), 1000);&lt;br /&gt;
    }&lt;br /&gt;
  }, true);&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Null</name></author>
	</entry>
</feed>