<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>建站笔记 &#8211; 智翼分享</title>
	<atom:link href="https://zhiyifenxiang.com/category/%E5%BB%BA%E7%AB%99%E7%AC%94%E8%AE%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://zhiyifenxiang.com</link>
	<description></description>
	<lastBuildDate>Sat, 11 Jul 2026 09:33:12 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>
	<item>
		<title>HTML前端图片压缩工具，附完整可运行源码</title>
		<link>https://zhiyifenxiang.com/599.html/</link>
					<comments>https://zhiyifenxiang.com/599.html/#respond</comments>
		
		<dc:creator><![CDATA[智翼分享]]></dc:creator>
		<pubDate>Fri, 10 Jul 2026 15:51:30 +0000</pubDate>
				<category><![CDATA[HTML页面]]></category>
		<category><![CDATA[建站笔记]]></category>
		<guid isPermaLink="false">https://zhiyifenxiang.com/?p=599</guid>

					<description><![CDATA[做自媒体或者临时需要图片压缩的朋友，一定都踩过图片压缩的坑：于是我自己用HTML写了一款纯浏览器本地图片压缩工 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph" style="text-indent:30px">做自媒体或者临时需要图片压缩的朋友，一定都踩过图片压缩的坑：于是我自己用HTML写了一款<strong>纯浏览器本地图片压缩工具</strong>，</p>



<p class="wp-block-paragraph" style="text-indent:30px">线上地址：<a href="https://zhiyifenxiang.com/tupianyasuo/" target="_blank" rel="noreferrer noopener">https://zhiyifenxiang.com/tupianyasuo/</a></p>



<figure class="wp-block-image size-full"><img alt="图片[1]-建站笔记-智翼分享" fetchpriority="high" decoding="async" width="2469" height="1404" src="https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩.webp"  class="wp-image-600" srcset="https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩.webp 2469w, https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩-800x455.webp 800w, https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩-768x437.webp 768w, https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩-1536x873.webp 1536w, https://zhiyifenxiang.com/wp-content/uploads/2026/07/20260710234021911-图片压缩-2048x1165.webp 2048w" sizes="(max-width: 2469px) 100vw, 2469px" /></figure>



<h3 class="wp-block-heading"><strong>工具核心亮点（全部前端实现，零后端）</strong></h3>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong>全程本地运算，图片永不上传服务器</strong>，隐私100%安全</p>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 永久免费无次数限制，不加水印、无广告</p>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 支持JPG/PNG/WebP三种主流图片格式</p>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 10-100自定义压缩质量，尺寸锁定不裁剪原图</p>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 一键转JPG通用格式，压缩前后实时对比预览</p>



<p class="wp-block-paragraph" style="text-indent:32px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 不用登录、不用注册，打开网页直接免费使用</p>



<p class="wp-block-paragraph" style="text-indent:32px">所有图片处理逻辑全部在你的浏览器内存中完成，不会发起任何网络请求上传原图，隐私敏感素材（证件照、产品图、写真）放心用。</p>



<h2 class="wp-block-heading"><strong>一、前端本地压缩核心原理</strong></h2>



<p class="wp-block-paragraph" style="text-indent:32px">市面上绝大多数在线压缩工具都会把图片上传到服务端处理，而本工具依靠浏览器原生API实现纯本地处理：</p>



<p class="wp-block-paragraph" style="text-indent:32px">完整处理流程：本地选择图片 → 浏览器读取文件压缩 → 本地预览+下载，<strong>全程无网络上传</strong>。</p>



<h2 class="wp-block-heading"><strong>二、完整可运行前端源码（无第三方依赖）</strong></h2>



<h3 class="wp-block-heading">1. HTML代码</h3>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="xml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;meta charset="UTF-8">
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
&lt;title>本地图片无损压缩工具 | 免费不上传服务器&lt;/title>
&lt;link rel="stylesheet" href="https://lf6-cdn-tos.bytecdntp.com/cdn/expire-100-M/font-awesome/4.7.0/css/font-awesome.min.css">
&lt;div class="wp-photo-compressor">
    &lt;style>
        * {box-sizing: border-box;margin:0;padding:0;}
        .wp-photo-compressor {font-family: system-ui,-apple-system,sans-serif;color:#1E293B;max-width:1000px;margin:0 auto;padding:20px;}
        /* 全局禁用模块内所有图片点击，彻底杜绝放大弹窗 */
        .wp-photo-compressor img {pointer-events:none !important;cursor:default !important;}
        .wp-photo-file-input {display:none !important;opacity:0;width:0;height:0;overflow:hidden;pointer-events:none;}
        .wp-photo-header {display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:12px;}
        .wp-photo-header-title {display:flex;align-items:center;gap:10px;}
        .wp-photo-header-icon {color:#3B82F6;font-size:24px;}
        .wp-photo-header-text {font-size:24px;font-weight:700;background:linear-gradient(90deg,#3B82F6,#10B981);-webkit-background-clip:text;color:transparent;}
        .wp-photo-header-safe-tip {font-size:14px;color:#047857;font-weight:500;margin-top:6px;line-height:1.5;}
        .wp-photo-section {background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,0.08);padding:20px;margin-bottom:30px;}
        .wp-photo-upload-container {border:2px dashed #E2E8F0;border-radius:10px;padding:40px 20px;text-align:center;transition:border-color .3s ease;}
        .wp-photo-upload-container:hover {border-color:#3B82F6;}
        .wp-photo-upload-icon {font-size:60px;color:#3B82F6;margin-bottom:15px;}
        .wp-photo-upload-title {font-size:20px;font-weight:600;margin-bottom:10px;}
        .wp-photo-upload-desc {color:#64748B;margin-bottom:20px;max-width:520px;margin-inline:auto;line-height:1.6;}
        .wp-photo-btn {background:#3B82F6;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;}
        .wp-photo-btn:hover {transform:scale(1.03);opacity:0.92;}
        .wp-photo-btn-secondary {background:#10B981;}
        .wp-photo-btn:disabled {opacity:0.5;cursor:not-allowed;transform:none;}
        .wp-photo-file-name {margin-top:15px;font-size:14px;color:#64748B;display:none;}
        .wp-photo-reset-btn {margin-top:10px;color:#64748B;background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:color .3s ease;display:none;}
        .wp-photo-reset-btn:hover {color:#EF4444;}
        .wp-photo-settings-title {font-size:18px;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
        .wp-photo-settings-grid {display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px;}
        @media(min-width:768px){.wp-photo-settings-grid {grid-template-columns:1fr 1fr;}}
        .wp-photo-setting-group {margin-bottom:15px;}
        .wp-photo-setting-label {display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#475569;}
        .wp-photo-quality-slider {width:100%;height:6px;background:#E2E8F0;border-radius:3px;appearance:none;cursor:pointer;}
        .wp-photo-quality-slider::-webkit-slider-thumb {appearance:none;width:18px;height:18px;border-radius:50%;background:#3B82F6;}
        .wp-photo-quality-value {font-weight:500;}
        .wp-photo-format-select {width:100%;padding:8px 12px;border:1px solid #CBD5E1;border-radius:6px;font-size:14px;}
        .wp-photo-setting-desc {font-size:12px;color:#64748B;margin-top:5px;line-height:1.5;}
        .wp-photo-center-btn {text-align:center;}
        .wp-photo-preview-title {font-size:18px;font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
        .wp-photo-preview-grid {display:grid;grid-template-columns:1fr;gap:30px;}
        @media(min-width:768px){.wp-photo-preview-grid {grid-template-columns:1fr 1fr;}}
        .wp-photo-preview-box {display:flex;flex-direction:column;align-items:center;}
        .wp-photo-preview-subtitle {font-size:16px;font-weight:500;margin-bottom:15px;}
        .wp-photo-image-container {width:100%;max-width:400px;height:300px;background:#F1F5F9;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:15px;}
        .wp-photo-image {max-width:100%;max-height:100%;object-fit:contain;display:none;}
        .wp-photo-placeholder {text-align:center;padding:20px;}
        .wp-photo-placeholder-icon {font-size:50px;color:#CBD5E1;margin-bottom:10px;}
        .wp-photo-placeholder-text {color:#94A3B8;}
        .wp-photo-image-info {width:100%;max-width:400px;font-size:14px;color:#64748B;}
        .wp-photo-info-row {margin-bottom:5px;}
        .wp-photo-info-label {font-weight:500;}
        .wp-photo-save-rate {margin-top:8px;color:#10B981;font-weight:500;display:none;}
        .wp-photo-footer {text-align:center;font-size:14px;color:#64748B;margin-top:40px;padding-top:20px;border-top:1px solid #E2E8F0;line-height:1.6;}
        .wp-photo-loading-overlay {position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:9998;display:none;}
        .wp-photo-loading-spinner {background:#fff;padding:20px 30px;border-radius:8px;display:flex;align-items:center;gap:15px;box-shadow:0 4px 20px rgba(0,0,0,0.2);}
        .wp-photo-spinner {width:24px;height:24px;border:3px solid #E2E8F0;border-top-color:#3B82F6;border-radius:50%;animation:spin 1s linear infinite;}
        .wp-photo-loading-text {font-weight:500;}
        @keyframes spin {to{transform:rotate(360deg);}}
        @media screen and (max-width:640px){
            .wp-photo-compressor {padding:12px;}
            .wp-photo-header-text {font-size:20px;}
            .wp-photo-header-icon {font-size:20px;}
            .wp-photo-section {padding:14px;margin-bottom:20px;}
            .wp-photo-upload-container {padding:28px 12px;}
            .wp-photo-upload-icon {font-size:48px;}
            .wp-photo-upload-title {font-size:18px;}
            .wp-photo-image-container {height:220px;}
            .wp-photo-btn {width:100%;justify-content:center;padding:12px;font-size:15px;}
            .wp-photo-settings-title,.wp-photo-preview-title {font-size:16px;}
            .wp-photo-preview-subtitle {font-size:15px;}
            .wp-photo-footer {font-size:12px;margin-top:24px;padding-top:14px;}
        }
    &lt;/style>
    &lt;div class="wp-photo-content">
        &lt;div class="wp-photo-header">
            &lt;div class="wp-photo-header-title">
                &lt;i class="fa fa-compress wp-photo-header-icon">&lt;/i>
                &lt;h1 class="wp-photo-header-text">高效照片压缩工具&lt;/h1>
            &lt;/div>
            &lt;div class="wp-photo-header-safe-tip">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 纯本地浏览器处理 · 图片永不上传服务器&lt;br>
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 永久免费 · 零隐私泄露风险
            &lt;/div>
        &lt;/div>
        &lt;section class="wp-photo-section">
            &lt;div class="wp-photo-upload-container" id="uploadBox">
                &lt;div class="wp-photo-upload-inner">
                    &lt;i class="fa fa-cloud-upload wp-photo-upload-icon">&lt;/i>
                    &lt;h2 class="wp-photo-upload-title">上传图片&lt;/h2>
                    &lt;p class="wp-photo-upload-desc">仅支持 JPG / PNG / WebP，全部图片仅在您本机浏览器运算，不会上传任何服务器，隐私安全永久免费&lt;/p>
                    &lt;label id="fileTrigger" for="virtualFile" class="wp-photo-btn">
                        &lt;i class="fa fa-file-image-o">&lt;/i>选择图片
                    &lt;/label>
                    &lt;input id="virtualFile" class="wp-photo-file-input" type="file" accept="image/jpeg,image/png,image/webp">
                    &lt;p id="fileNameTxt" class="wp-photo-file-name">&lt;/p>
                    &lt;button id="resetBtn" class="wp-photo-reset-btn">
                        &lt;i class="fa fa-times-circle">&lt;/i> 重新选择
                    &lt;/button>
                &lt;/div>
            &lt;/div>
        &lt;/section>
        &lt;section id="setBox" class="wp-photo-section" style="display: none;">
            &lt;h2 class="wp-photo-settings-title">&lt;i class="fa fa-sliders">&lt;/i>压缩设置&lt;/h2>
            &lt;div class="wp-photo-settings-grid">
                &lt;div class="wp-photo-setting-group">
                    &lt;label class="wp-photo-setting-label">压缩质量: &lt;span id="qualityNum" class="wp-photo-quality-value">90&lt;/span>%&lt;/label>
                    &lt;input type="range" id="qualitySlider" min="10" max="100" value="90" class="wp-photo-quality-slider">
                    &lt;p class="wp-photo-setting-desc">统一锁定原图尺寸；10=极致小体积，100=无损最高画质；PNG不受质量数值影响，原生无损&lt;/p>
                &lt;/div>
                &lt;div class="wp-photo-setting-group">
                    &lt;label class="wp-photo-setting-label">输出格式&lt;/label>
                    &lt;select id="formatSel" class="wp-photo-format-select">
                        &lt;option value="jpg">JPG｜通用兼容，有损高保真压缩&lt;/option>
                        &lt;option value="png">PNG｜无损透明，像素色彩完全不变&lt;/option>
                        &lt;option value="webp">WebP｜平衡画质体积，现代网页最优&lt;/option>
                    &lt;/select>
                    &lt;p class="wp-photo-setting-desc">所有格式均不修改原图分辨率，全程本地运算不上传&lt;/p>
                &lt;/div>
            &lt;/div>
            &lt;div class="wp-photo-center-btn">
                &lt;button id="compressBtn" class="wp-photo-btn wp-photo-btn-secondary">
                    &lt;i class="fa fa-cog">&lt;/i>开始压缩
                &lt;/button>
            &lt;/div>
        &lt;/section>
        &lt;section id="previewBox" class="wp-photo-section" style="display: none;">
            &lt;h2 class="wp-photo-preview-title">&lt;i class="fa fa-eye">&lt;/i>压缩前后对比&lt;/h2>
            &lt;div class="wp-photo-preview-grid">
                &lt;div class="wp-photo-preview-box">
                    &lt;h3 class="wp-photo-preview-subtitle">原图&lt;/h3>
                    &lt;div class="wp-photo-image-container">
                        &lt;img id="oriImg" alt="原图预览" class="wp-photo-image" data-no-lightbox data-lb-ignore="1">
                        &lt;div id="oriPlaceholder" class="wp-photo-placeholder">
                            &lt;i class="fa fa-image wp-photo-placeholder-icon">&lt;/i>
                            &lt;p class="wp-photo-placeholder-text">暂无图片&lt;/p>
                        &lt;/div>
                    &lt;/div>
                    &lt;div class="wp-photo-image-info">
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">尺寸:&lt;/span> &lt;span id="oriSize">--&lt;/span>&lt;/p>
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">大小:&lt;/span> &lt;span id="oriByte">--&lt;/span>&lt;/p>
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">格式:&lt;/span> &lt;span id="oriType">--&lt;/span>&lt;/p>
                    &lt;/div>
                &lt;/div>
                &lt;div class="wp-photo-preview-box">
                    &lt;h3 class="wp-photo-preview-subtitle">压缩后&lt;/h3>
                    &lt;div class="wp-photo-image-container">
                        &lt;img id="comImg" alt="压缩后预览" class="wp-photo-image" data-no-lightbox data-lb-ignore="1">
                        &lt;div id="comPlaceholder" class="wp-photo-placeholder">
                            &lt;i class="fa fa-image wp-photo-placeholder-icon">&lt;/i>
                            &lt;p class="wp-photo-placeholder-text">暂无图片&lt;/p>
                        &lt;/div>
                    &lt;/div>
                    &lt;div class="wp-photo-image-info">
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">尺寸:&lt;/span> &lt;span id="comSize">--&lt;/span>&lt;/p>
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">大小:&lt;/span> &lt;span id="comByte">--&lt;/span>&lt;/p>
                        &lt;p class="wp-photo-info-row">&lt;span class="wp-photo-info-label">格式:&lt;/span> &lt;span id="comType">--&lt;/span>&lt;/p>
                        &lt;p id="saveTip" class="wp-photo-save-rate">&lt;/p>
                    &lt;/div>
                &lt;/div>
            &lt;/div>
            &lt;div class="wp-photo-center-btn" style="margin-top: 20px;">
                &lt;button id="downloadBtn" class="wp-photo-btn" disabled>
                    &lt;i class="fa fa-download">&lt;/i>下载图片
                &lt;/button>
            &lt;/div>
        &lt;/section>
    &lt;/div>
    &lt;div class="wp-photo-footer">
        &lt;p>图片压缩工具 © &lt;a href="https://zhiyifenxiang.com" target="_blank">智翼分享&lt;/a> 2026 | 全程本地浏览器处理，图片不会上传至任何服务器，永久免费无水印&lt;/p>
    &lt;/div>
    &lt;div id="loadingMask" class="wp-photo-loading-overlay">
        &lt;div class="wp-photo-loading-spinner">
            &lt;div class="wp-photo-spinner">&lt;/div>
            &lt;p class="wp-photo-loading-text">本地处理中，请勿关闭页面&lt;/p>
        &lt;/div>
    &lt;/div>
    &lt;script>
        const dom = {
            virtualFile: document.getElementById('virtualFile'),
            fileTrigger: document.getElementById('fileTrigger'),
            fileNameTxt: document.getElementById('fileNameTxt'),
            resetBtn: document.getElementById('resetBtn'),
            uploadBox: document.getElementById('uploadBox'),
            setBox: document.getElementById('setBox'),
            previewBox: document.getElementById('previewBox'),
            qualitySlider: document.getElementById('qualitySlider'),
            qualityNum: document.getElementById('qualityNum'),
            formatSel: document.getElementById('formatSel'),
            compressBtn: document.getElementById('compressBtn'),
            downloadBtn: document.getElementById('downloadBtn'),
            oriImg: document.getElementById('oriImg'),
            comImg: document.getElementById('comImg'),
            oriPlaceholder: document.getElementById('oriPlaceholder'),
            comPlaceholder: document.getElementById('comPlaceholder'),
            oriSize: document.getElementById('oriSize'),
            oriByte: document.getElementById('oriByte'),
            oriType: document.getElementById('oriType'),
            comSize: document.getElementById('comSize'),
            comByte: document.getElementById('comByte'),
            comType: document.getElementById('comType'),
            saveTip: document.getElementById('saveTip'),
            loadingMask: document.getElementById('loadingMask')
        };
        const state = {sourceImg:null,compressBlob:null,baseName:"",isProcessing:false};
        dom.virtualFile.onchange = uploadHandle;
        dom.resetBtn.onclick = fullReset;
        dom.qualitySlider.oninput = ()=>dom.qualityNum.textContent = dom.qualitySlider.value;
        dom.compressBtn.onclick = compressHandle;
        dom.downloadBtn.onclick = downloadHandle;
        function formatSize(bytes){
            if(bytes&lt;1024)return bytes+' B';
            if(bytes&lt;1048576)return (bytes/1024).toFixed(2)+' KB';
            return (bytes/1048576).toFixed(2)+' MB';
        }
        function setLoading(show){dom.loadingMask.style.display = show?'flex':'none';}
        function fullReset(){
            dom.virtualFile.value = "";
            dom.fileNameTxt.style.display = "none";
            dom.resetBtn.style.display = "none";
            dom.uploadBox.style.borderColor = "#E2E8F0";
            dom.setBox.style.display = "none";
            dom.previewBox.style.display = "none";
            dom.saveTip.style.display = "none";
            dom.downloadBtn.disabled = true;
            state.sourceImg = null;state.compressBlob = null;state.baseName = "";state.isProcessing = false;
            dom.oriImg.src = "";dom.oriImg.style.display = "none";dom.oriPlaceholder.style.display = "block";
            [dom.oriSize,dom.oriByte,dom.oriType].forEach(el=>el.textContent="--");
            dom.comImg.src = "";dom.comImg.style.display = "none";dom.comPlaceholder.style.display = "block";
            [dom.comSize,dom.comByte,dom.comType].forEach(el=>el.textContent="--");
        }
        function uploadHandle(e){
            const file = e.target.files[0];
            if(!file)return;
            const allow = ["image/jpeg","image/png","image/webp"];
            if(!allow.includes(file.type))return alert("仅支持 JPG / PNG / WebP 图片");
            if(state.sourceImg)return alert("已上传图片，请先点击重新选择重置");
            state.baseName = file.name.replace(/\.\w+$/,"");
            const reader = new FileReader();
            reader.onerror = ()=>alert("图片读取失败，文件损坏");
            reader.onload = ev=>{
                const url = ev.target.result;
                const img = new Image();
                img.onerror = ()=>alert("图片加载异常");
                img.onload = ()=>{
                    state.sourceImg = {url,w:img.width,h:img.height,size:file.size,type:file.type.split("/")[1]};
                    dom.oriImg.src = url;dom.oriImg.style.display = "block";dom.oriPlaceholder.style.display = "none";
                    dom.oriSize.textContent = `${img.width} × ${img.height} 像素`;
                    dom.oriByte.textContent = formatSize(file.size);
                    dom.oriType.textContent = state.sourceImg.type.toUpperCase();
                    dom.fileNameTxt.textContent = file.name;dom.fileNameTxt.style.display = "block";
                    dom.resetBtn.style.display = "inline-flex";
                    dom.uploadBox.style.borderColor = "#3B82F6";
                    dom.setBox.style.display = "block";
                    dom.previewBox.style.display = "block";
                };
                img.src = url;
            };
            reader.readAsDataURL(file);
        }
        async function compressHandle(){
            if(!state.sourceImg||state.isProcessing)return;
            state.isProcessing = true;
            setLoading(true);
            dom.comImg.src = "";dom.comImg.style.display = "none";dom.comPlaceholder.style.display = "block";
            dom.saveTip.style.display = "none";
            [dom.comSize,dom.comByte,dom.comType].forEach(el=>el.textContent="--");
            try{
                const img = new Image();
                img.src = state.sourceImg.url;
                await new Promise(res=>img.onload=res);
                const w = img.width,h = img.height;
                const quality = Number(dom.qualitySlider.value)/100;
                const fmt = dom.formatSel.value;
                let mime,loss = false;
                switch(fmt){
                    case "jpg":mime="image/jpeg";break;
                    case "png":mime="image/png";loss=true;break;
                    case "webp":mime="image/webp";break;
                }
                const canvas = document.createElement("canvas");
                const ctx = canvas.getContext("2d");
                canvas.width = w;canvas.height = h;
                if(mime==="image/jpeg"){ctx.fillStyle="#fff";ctx.fillRect(0,0,w,h);}
                ctx.drawImage(img,0,0,w,h);
                const blob = await new Promise((res,rej)=>canvas.toBlob(res,mime,loss?undefined:quality));
                state.compressBlob = blob;
                const save = ((1-blob.size/state.sourceImg.size)*100).toFixed(1);
                const tempUrl = URL.createObjectURL(blob);
                dom.comImg.src = tempUrl;dom.comImg.style.display = "block";dom.comPlaceholder.style.display = "none";
                dom.comSize.textContent = `${w} × ${h} 像素`;
                dom.comByte.textContent = formatSize(blob.size);
                dom.comType.textContent = fmt.toUpperCase();
                dom.saveTip.textContent = blob.size>=state.sourceImg.size?`压缩后体积略大，节省 ${save}%（小图无损格式易出现）`:`本次压缩共节省 ${save}% 文件体积`;
                dom.saveTip.style.display = "block";
                dom.downloadBtn.disabled = false;
            }catch(err){alert("本地压缩失败："+err.message);}
            state.isProcessing = false;
            setLoading(false);
        }
        function downloadHandle(){
            if(!state.compressBlob||!state.baseName)return;
            const fmt = dom.formatSel.value;
            const a = document.createElement("a");
            const url = URL.createObjectURL(state.compressBlob);
            a.href = url;a.download = `${state.baseName}.${fmt}`;
            document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url);
        }
    &lt;/script>
&lt;/div></code></pre>



<h2 class="wp-block-heading"><strong>三、线上工具使用教程</strong></h2>



<p class="wp-block-paragraph" style="text-indent:32px">1、打开链接：<a href="https://zhiyifenxiang.com/tupianyasuo/" target="_blank" rel="noreferrer noopener">https://zhiyifenxiang.com/tupianyasuo/</a></p>



<p class="wp-block-paragraph" style="text-indent:32px">2、点击上传框选择本地图片；</p>



<p class="wp-block-paragraph" style="text-indent:32px">3、滑动滑块调整压缩质量；</p>



<p class="wp-block-paragraph" style="text-indent:32px">4、自动生成原图/压缩后对比，查看体积缩减比例；</p>



<p class="wp-block-paragraph" style="text-indent:32px">5、点击下载，保存压缩后的图片到本地</p>



<p class="wp-block-paragraph" style="text-indent:32px">有开发能力的朋友可以基于这份源码继续迭代</p>



<h2 class="wp-block-heading"><strong>结尾</strong></h2>



<p class="wp-block-paragraph" style="text-indent:32px">不管是自媒体博主，还是临时需要图片压缩小伙伴，这款零隐私风险的本地压缩工具都能解决日常配图压缩痛点。</p>



<p class="wp-block-paragraph" style="text-indent:32px">源码完全开源，可直接复制部署到自己的静态站点使用，不用任何后端服务，静态页面托管即可运行。</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://zhiyifenxiang.com/599.html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>设置网站动态标题</title>
		<link>https://zhiyifenxiang.com/394.html/</link>
					<comments>https://zhiyifenxiang.com/394.html/#respond</comments>
		
		<dc:creator><![CDATA[智翼分享]]></dc:creator>
		<pubDate>Fri, 21 Feb 2025 05:34:50 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Zibll子比主题]]></category>
		<category><![CDATA[建站笔记]]></category>
		<guid isPermaLink="false">https://zhiyifenxiang.com/?p=394</guid>

					<description><![CDATA[美化教程 （以子比主题最新版为例）在后台主题设置—&#62;自定义代码—&#62;自定义javascript代码把 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-zibllblock-quote"><div class="quote_q"><i class="fa fa-quote-left"></i><p>我们经常逛别人的网站，有些网站当我们离开该页面浏览其他页面的时候，我们在离开的页面上面会看到比如本站的“你别走吖 Σ(っ °Д °;)っ”这样的字样，当我们点回来的时候页面上面会看到“(/≧▽≦/)你又回来了！”的字样。那么我们如何实现呢？其实很简单，只需一句javascript语句即可实现。请看下面的教程。</p></div></div>



<p class="wp-block-paragraph"><strong>美化教程</strong></p>



<p class="wp-block-paragraph">（以子比主题最新版为例）在后台主题设置—&gt;自定义代码—&gt;自定义javascript代码把下面的代码添加到里面即可实现。</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">//动态标题 
var OriginTitile = document.title,
titleTime;
document.addEventListener("visibilitychange",
function() {
    if (document.hidden) {
        document.title = "你别走吖 Σ(っ °Д °;)っ";
        clearTimeout(titleTime)
    } else {
        document.title = "(/≧▽≦/)你又回来啦！ " ;
        titleTime = setTimeout(function() {
            document.title = OriginTitile
        },
        2000)
    }
});</code></pre>



<p class="wp-block-paragraph">注：代码中“你别走吖 Σ(っ °Д °;)っ”和“(/≧▽≦/)你又回来啦！”可自行修改成自己喜欢的标题文字。</p>



<p class="wp-block-paragraph">如果你的网站主题设置没有自定义javascript代码这个框的话，若有自定义头部HTML代码的话，把下面的代码添加到里面也可实现。</p>



<p class="wp-block-paragraph">或者在首页文件位于“”标签之前添加下面的代码也可以。</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;script type="text/javascript">
      /*  动态标题*/
     var OriginTitile = document.title,
      titleTime;
     document.addEventListener("visibilitychange",
     function() {
      if (document.hidden) {
        document.title = "你别走吖 Σ(っ °Д °;)っ";
        clearTimeout(titleTime)
    } else {
        document.title = "(/≧▽≦/)你又回来啦！" ;
        titleTime = setTimeout(function() {
            document.title = OriginTitile
        },
        2000)
    }
    });
    &lt;/script></code></pre>



<p class="wp-block-paragraph">注：代码中“你别走吖 Σ(っ °Д °;)っ”和“(/≧▽≦/)你又回来啦！”可自行修改成自己喜欢的标题文字。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zhiyifenxiang.com/394.html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>添加VIP视频在线解析页面</title>
		<link>https://zhiyifenxiang.com/357.html/</link>
					<comments>https://zhiyifenxiang.com/357.html/#respond</comments>
		
		<dc:creator><![CDATA[智翼分享]]></dc:creator>
		<pubDate>Wed, 19 Feb 2025 07:09:31 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Zibll子比主题]]></category>
		<category><![CDATA[建站笔记]]></category>
		<guid isPermaLink="false">https://zhiyifenxiang.com/?p=357</guid>

					<description><![CDATA[进入后台—&#62;页面—&#62;新建页面—&#62;自定义HTML（古登堡编辑器，我没用过经典编辑器不知道是不是 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-zibllblock-quote"><div class="quote_q" data-color="#1F91F3" style="--quote-color:#1F91F3"><i class="fa fa-quote-left"></i><p>电视剧、电影是我们生活中必不可少的，它们可以让我们放松一下心情，但大多数的电视剧或电影都是要VIP或者付费的，本来不怎么富裕的我们更加的雪上加霜，本来可以每炖吃好的，但为了追一个剧，只能吃馒头了！<br/>那么我们怎么能够免费看那些电视剧或电影呢？<br/>为了能够看免费的，大佬们弄出了VIP视频解析接口，只需在该接口输入电视剧或电影的网址就可以观看视频。<br/>VIP视频在线解析页面采用的主要是HTML代码和一些js、css啥的，因为我的能力有限，所以只能搞这么多。<br/>如果有感兴趣的朋友，自己修改一下代码。<br/>同时本页面采用的是后台直接通过创建自定义HTML页面实现的，主要防止主题每次更新后就会消失，所以采用这种方式来实现。<br/>本站采用的是子比主题，所以可能只适应子比主题，如果有其他主题的朋友，自己测试一下吧。</p></div></div>



<h2 class="wp-block-zibllblock-biaoti title-theme"><strong>美化教程</strong></h2>



<p class="wp-block-paragraph">进入后台—&gt;页面—&gt;新建页面—&gt;自定义HTML（古登堡编辑器，我没用过经典编辑器不知道是不是这样）—&gt;把下面的代码添加进去就可以啦！</p>



<p class="wp-block-paragraph">初始版代码：</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;html lang="zh-cn">
    &lt;head>
&lt;style type="text/css"> 
.wiui01{ width:100%; height:600px;}
@media screen and (max-width: 768px){.wiui01{width:100%; height:200px;}}}
.input-group-addon{padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 1; color: #555; text-align: center; background-color: #eee; border-radius: 4px;border: #ccc;}
   &lt;/style>
        &lt;script type="text/javascript">
eval(function(p,a,c,k,e,d){e=function(c){return(c&lt;a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('b a(){0 6=1.2("9").4;0 5=1.2("3");0 3=1.2("3").c;0 8=5.e[3].4;0 7=1.2("f");7.d=8+6}',16,16,'var|document|getElementById|jk|value|jkurl|diz|cljurl|jkv|url|dihejk|function|selectedIndex|src|options|player'.split('|'),0,{}))
        function dihejk2() {
        var diz = document.getElementById("url").value;
        var jkurl = document.getElementById("jk");
        var jk = document.getElementById("jk").selectedIndex;
        var jkv = jkurl.options[jk].value;
        var cljurl = document.getElementById("player");
        window.open(jkv + diz,"_blank");
        }
        &lt;/script>
    &lt;/head>
    &lt;body>
        &lt;div class="col-md-14 column">
            &lt;div class="panel panel-default">
                &lt;div id="kj" class="panel-body">
                    &lt;iframe class="wiui01" src="https://www.cunshao.com/666666/meihua/load.html" style="background-color: black;" id="player" allowtransparency="true" allowfullscreen="true" frameborder="0" scrolling="no" name="player">&lt;/iframe>
                &lt;/div>
            &lt;/div>&lt;script type="text/javascript">
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){
            document.getElementById("sdfdf").style.display = "block";
            }
            &lt;/script>
        &lt;/div>
        &lt;div class="col-md-14 column">
            &lt;div class="input-group" style="width: 100%;">
                &lt;span class="input-group-addon">选择接口&lt;/span> &lt;select class="form-control" id="jk">
                    &lt;option value="https://api.sigujx.com/?url=" selected>
                        1&#xfe0f;&#x20e3; 思古解析
                    &lt;/option>
                    &lt;option value="https://www.8090g.cn/jiexi/?url=" selected>
                        2&#xfe0f;&#x20e3; 8090解析
                    &lt;/option>
                    &lt;option value="https://z1.m1907.cn?jx=" selected>
                        3&#xfe0f;&#x20e3; 1907解析
                    &lt;/option>
                    &lt;option value="https://www.8090g.cn/jiexi/?url=" selected>
                        ?默认接口(若默认接口无法解析请选择其他接口播放)
                    &lt;/option>
                &lt;/select>
            &lt;/div>&lt;br>
            &lt;div class="input-group" style="width: 100%;">
                &lt;span class="input-group-addon" >播放地址&lt;/span> &lt;input class="form-control" type="search" placeholder="电脑使用Ctrl+V粘贴网址-手机直接长按粘贴网址" id="url">
            &lt;/div>&lt;br>
            &lt;div>
                 &lt;button id="bf" type="button" class="btn btn-info btn-block" onclick="dihejk()">点击开始解析&lt;/button> 
                &lt;button id="bf" type="button" class="btn btn-warning btn-block" onclick="dihejk2()">点击全屏播放解析&lt;/button>
            &lt;/div>
        &lt;/div>
&lt;!--公告-->
    &lt;script type="text/javascript">
    $(function () {
      function getNowFormatDate() {
        var date = new Date();
        var month = date.getMonth() + 1;
        var strDate = date.getDate();
        var currentdate = month + "月" + strDate + "日";
        return currentdate;
      }
      var text = [
         "如果你使用手机观看的话，推荐解析后使用全屏观看！",
         "如果解析接口有广告，请选择更换接口解析！",
         "智翼分享视频解析接口：3个（状态：正常）",
         "解析失效请及时联系站长更换！",
         "智翼分享解析是免费使用的，请勿被骗！",
      ], content = "";
      for (var i = 0; i &lt; text.length; i++) {
        content += (i + 1) + ". " + text[i] + "\n";
      }
      setTimeout(function () {
        swal(getNowFormatDate() + "通知", content, "success");
      }, 1000)
    })
  &lt;/script>
    &lt;/body>
&lt;/html></code></pre>



<p class="wp-block-paragraph">修改版去边框代码：</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">                    &lt;html lang="zh-cn">
                    &lt;head>
                    &lt;style type="text/css"> 
                    .wiui01{ width:100%; height:645px;border-radius:5px;}
                    @media screen and (max-width: 768px){.wiui01{width:100%; height:200px;}}}
                    .input-group-addon{padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 1; color: #555; text-align: center; background-color: #eee; border-radius: 4px;border: #ccc;}
                       &lt;/style>
                            &lt;script type="text/javascript">
                    eval(function(p,a,c,k,e,d){e=function(c){return(c&lt;a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('b a(){0 6=1.2("9").4;0 5=1.2("3");0 3=1.2("3").c;0 8=5.e[3].4;0 7=1.2("f");7.d=8+6}',16,16,'var|document|getElementById|jk|value|jkurl|diz|cljurl|jkv|url|dihejk|function|selectedIndex|src|options|player'.split('|'),0,{}))
                            function dihejk2() {
                            var diz = document.getElementById("url").value;
                            var jkurl = document.getElementById("jk");
                            var jk = document.getElementById("jk").selectedIndex;
                            var jkv = jkurl.options[jk].value;
                            var cljurl = document.getElementById("player");
                            window.open(jkv + diz,"_blank");
                            }
                            &lt;/script>
                        &lt;/head>
                        &lt;body>&lt;br>
                            &lt;div class="col-md-14 column">
                                    &lt;div id="kj" >
                                        &lt;iframe class="wiui01" src="https://www.cunshao.com/666666/meihua/load.html" style="background-color: black;" id="player" allowtransparency="true" allowfullscreen="true" frameborder="0" scrolling="no" name="player">&lt;/iframe>
                                    &lt;/div>
                                &lt;script type="text/javascript">
                    if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){
                                document.getElementById("sdfdf").style.display = "block";
                                }
                                &lt;/script>
                            &lt;/div>&lt;br>
                            &lt;div class="col-md-14 column">
                                &lt;div class="input-group" style="width: 100%;">
                                    &lt;span class="input-group-addon">选择接口&lt;/span> &lt;select class="form-control" id="jk">
                                        &lt;option value="https://api.sigujx.com/?url=" selected>
                                            1&#xfe0f;&#x20e3; 思古解析
                                        &lt;/option>
                                        &lt;option value="https://www.8090g.cn/jiexi/?url=" selected>
                                            2&#xfe0f;&#x20e3; 8090解析
                                        &lt;/option>
                                        &lt;option value="https://z1.m1907.cn?jx=" selected>
                                            3&#xfe0f;&#x20e3; 1907解析
                                        &lt;/option>
                                        &lt;option value="https://www.8090g.cn/jiexi/?url=" selected>
                                            ?默认接口(若默认接口无法解析请选择其他接口播放)
                                        &lt;/option>
                                    &lt;/select>
                                &lt;/div>&lt;br>
                                &lt;div class="input-group" style="width: 100%;">
                                    &lt;span class="input-group-addon" >播放地址&lt;/span> &lt;input class="form-control" type="search" placeholder="电脑使用Ctrl+V粘贴网址-手机直接长按粘贴网址" id="url">
                                &lt;/div>&lt;br>
                                &lt;div>
                                     &lt;button id="bf" type="button" class="btn btn-info btn-block" onclick="dihejk()">点击开始解析&lt;/button> 
                                    &lt;button id="bf" type="button" class="btn btn-warning btn-block" onclick="dihejk2()">点击全屏播放解析&lt;/button>
                                &lt;/div>
                            &lt;/div>
                    &lt;!--公告-->
                        &lt;script type="text/javascript">
                        $(function () {
                          function getNowFormatDate() {
                            var date = new Date();
                            var month = date.getMonth() + 1;
                            var strDate = date.getDate();
                            var currentdate = month + "月" + strDate + "日";
                            return currentdate;
                          }
                          var text = [
                             "如果你使用手机观看的话，推荐解析后使用全屏观看！",
                             "如果解析接口有广告，请选择更换接口解析！",
                             "智翼分享视频解析接口：3个（状态：正常）",
                             "解析失效请及时联系站长更换！",
                             "智翼分享解析是免费使用的，请勿被骗！",
                          ], content = "";
                          for (var i = 0; i &lt; text.length; i++) {
                            content += (i + 1) + ". " + text[i] + "\n";
                          }
                          setTimeout(function () {
                            swal(getNowFormatDate() + "通知", content, "success");
                          }, 1000)
                        })
                      &lt;/script>
                        &lt;/body>
                    &lt;/html></code></pre>



<p class="wp-block-paragraph">优化版解决弹窗不显示与更换部分无效接口代码：</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html>
&lt;html lang="zh-cn">

&lt;head>
    &lt;!-- 引入 jQuery -->
    &lt;script src="https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js">&lt;/script>
    &lt;!-- 引入 SweetAlert 库 -->
    &lt;script src="https://cdn.jsdelivr.net/npm/sweetalert2@11">&lt;/script>
    &lt;style type="text/css">
        .wiui01 {
            width: 100%;
            height: 645px;
            border-radius: 5px;
        }

        @media screen and (max-width: 768px) {
            .wiui01 {
                width: 100%;
                height: 200px;
            }
        }

        .input-group-addon {
            padding: 6px 12px;
            font-size: 14px;
            font-weight: 400;
            line-height: 1;
            color: #555;
            text-align: center;
            background-color: #eee;
            border-radius: 4px;
            border: 1px solid #ccc;
        }
    &lt;/style>
    &lt;script type="text/javascript">
        // 解析并在 iframe 中播放
        function dihejk() {
            var diz = document.getElementById("url").value;
            var jkurl = document.getElementById("jk");
            var jk = jkurl.selectedIndex;
            var jkv = jkurl.options[jk].value;
            var player = document.getElementById("player");

            // 显示加载提示
            var loadingAlert = Swal.fire({
                title: '正在解析...',
                allowOutsideClick: false,
                didOpen: () => {
                    Swal.showLoading();
                }
            });

            // 模拟解析过程
            setTimeout(() => {
                if (diz) {
                    player.src = jkv + diz;
                    loadingAlert.close();
                } else {
                    loadingAlert.close();
                    Swal.fire({
                        title: '错误',
                        text: '请输入播放地址',
                        icon: 'error'
                    });
                }
            }, 1000);
        }

        // 解析并全屏播放
        function dihejk2() {
            var diz = document.getElementById("url").value;
            var jkurl = document.getElementById("jk");
            var jk = jkurl.selectedIndex;
            var jkv = jkurl.options[jk].value;

            // 显示加载提示
            var loadingAlert = Swal.fire({
                title: '正在解析...',
                allowOutsideClick: false,
                didOpen: () => {
                    Swal.showLoading();
                }
            });

            // 模拟解析过程
            setTimeout(() => {
                if (diz) {
                    window.open(jkv + diz, "_blank");
                    loadingAlert.close();
                } else {
                    loadingAlert.close();
                    Swal.fire({
                        title: '错误',
                        text: '请输入播放地址',
                        icon: 'error'
                    });
                }
            }, 1000);
        }

        function getNowFormatDate() {
            var date = new Date();
            var month = date.getMonth() + 1;
            var strDate = date.getDate();
            return month + "月" + strDate + "日";
        }

        function generateAnnouncementContent() {
            var text = [
                "本站解析接口只供学习与交流，请勿用于违法用途！",
                "如果你使用手机观看的话，推荐解析后使用全屏观看！",
                "如果解析接口有广告，请选择更换接口解析！",
                "智翼分享视频解析接口：14个（状态：正常）",
                "解析通道失效请及时联系站长更换！",
                "智翼分享解析是免费使用的，请勿被骗！"
            ];
            var content = "";
            for (var i = 0; i &lt; text.length; i++) {
                content += (i + 1) + ". " + text[i] + "&lt;br>";
            }
            return content;
        }

        $(function () {
            var currentDate = getNowFormatDate();
            var announcementContent = generateAnnouncementContent();

            setTimeout(function () {
                Swal.fire({
                    title: currentDate + "通知",
                    html: announcementContent,
                    icon: "success"
                });
            }, 1000);
        });
    &lt;/script>
&lt;/head>

&lt;body>
    &lt;br>
    &lt;div class="col-md-12 column">
        &lt;div id="kj">
            &lt;iframe class="wiui01" src="https://www.cunshao.com/666666/meihua/load.html"
                style="background-color: black;" id="player" allowtransparency="true" allowfullscreen="true"
                frameborder="0" scrolling="no" name="player">&lt;/iframe>
        &lt;/div>
        &lt;script type="text/javascript">
            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {
                // 原代码中无 id 为 sdfdf 的元素，这里先忽略该逻辑
                // document.getElementById("sdfdf").style.display = "block";
            }
        &lt;/script>
    &lt;/div>
    &lt;br>
    &lt;div class="col-md-12 column">
        &lt;div class="input-group" style="width: 100%;">
            &lt;span class="input-group-addon">选择接口&lt;/span>
            &lt;select class="form-control" id="jk">
                &lt;option value="https://jx.hls.one/?url=" selected>
                    一号解析通道【推荐】
                &lt;/option>
                &lt;option value="https://jx.nnxv.cn/tv.php?url=">
                    二号解析通道
                &lt;/option>
                &lt;option value="https://jx.77flv.cc/?url=">
                    三号解析通道
                &lt;/option>
                &lt;option value="https://jx.xymp4.cc/?url=">
                    四号解析通道
                &lt;/option>
                &lt;option value="https://jx.dmflv.cc/?url=">
                    五号解析通道
                &lt;/option>
            &lt;/select>
        &lt;/div>
        &lt;br>
        &lt;div class="input-group" style="width: 100%;">
            &lt;span class="input-group-addon">播放地址&lt;/span>
            &lt;input class="form-control" type="search"
                placeholder="电脑使用Ctrl+V粘贴网址-手机直接长按粘贴网址" id="url">
        &lt;/div>
        &lt;br>
        &lt;div>
            &lt;button id="bf1" type="button" class="btn btn-info btn-block" onclick="dihejk()">点击开始解析&lt;/button>
            &lt;button id="bf2" type="button" class="btn btn-warning btn-block" onclick="dihejk2()">点击全屏播放解析&lt;/button>
        &lt;/div>
    &lt;/div>
&lt;/body>

&lt;/html></code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://zhiyifenxiang.com/357.html/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zibll子比主题-全站使用阿里巴巴Iconfont图标详细图文教程</title>
		<link>https://zhiyifenxiang.com/328.html/</link>
					<comments>https://zhiyifenxiang.com/328.html/#comments</comments>
		
		<dc:creator><![CDATA[智翼分享]]></dc:creator>
		<pubDate>Wed, 01 Jan 2025 02:00:00 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Zibll子比主题]]></category>
		<category><![CDATA[建站笔记]]></category>
		<guid isPermaLink="false">https://zhiyifenxiang.com/?p=328</guid>

					<description><![CDATA[子比主题已经集成了Font Awesome 图标，可以在全站使用Font Awesome图标而无需任何插件。  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">子比主题已经集成了Font Awesome 图标，可以在全站使用Font Awesome图标而无需任何插件。</p>



<p class="wp-block-paragraph">要使用Font Awesome图标教程十分简单，如图所示，仅需两步：</p>



<figure class="wp-block-image size-full"><img alt="图片[1]-建站笔记-智翼分享" decoding="async" width="965" height="828" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231148644-image.png"  class="wp-image-337" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231148644-image.png 965w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231148644-image-800x686.png 800w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231148644-image-768x659.png 768w" sizes="(max-width: 965px) 100vw, 965px" /></figure>



<div class="wp-block-zibllblock-quote"><div class="quote_q" data-color="#09ACE2" style="--quote-color:#09ACE2"><i class="fa fa-quote-left"></i><p><qc style="color:#1F91F3;background:undefined"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">Iconfont-阿里巴巴矢量图标是国内功能很强大且图标内容很丰富的矢量图标库，提供矢量图标下载、在线存储、格式转换等功能。可以使用GitHub帐号登录，数百万的图标免费使用，官方也提供了详细的教程</mark></qc></p></div></div>



<h2 class="wp-block-heading" id="wznav_0">一、新建Iconfont项目</h2>



<p class="wp-block-paragraph">接下来我们就一步一步的教大家如何在使用阿里巴巴Iconfont图标</p>



<p class="wp-block-paragraph">Iconfont 支持GitHub帐号登录，登录之后你就可以寻找自己需要的图标啦</p>



<p class="wp-block-paragraph">首先呢，寻找自己的需要的图标，通通点进购物车！</p>



<figure class="wp-block-image size-full"><img alt="图片[2]-建站笔记-智翼分享" decoding="async" width="197" height="173" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231339530-image.png"  class="wp-image-338"/></figure>



<p class="wp-block-paragraph">再把购物车的图标加入到项目，如果还未创建项目，那就新建一个就是了</p>



<figure class="wp-block-image size-full"><img alt="图片[3]-建站笔记-智翼分享" loading="lazy" decoding="async" width="533" height="955" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231347672-image.png"  class="wp-image-339" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231347672-image.png 533w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231347672-image-446x800.png 446w" sizes="auto, (max-width: 533px) 100vw, 533px" /></figure>



<figure class="wp-block-image size-full"><img alt="图片[4]-建站笔记-智翼分享" loading="lazy" decoding="async" width="631" height="621" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231356916-image.png"  class="wp-image-340"/></figure>



<h2 class="wp-block-heading" id="wznav_1">二、网站集成</h2>



<p class="wp-block-paragraph">使用 Iconfont图标 图标官方也有详细的教程，同时官网提供三种集成方式：Unicode、class、Symbol。这三种集成方式各有优劣势，具体请查看<a href="https://zhiyifenxiang.com/?golink=aHR0cHM6Ly93d3cuaWNvbmZvbnQuY24vaGVscC9kZXRhaWw/c3BtPWEzMTN4Ljc3ODEwNjkuMTk5ODkxMDQxOS4xNiZhbXA7aGVscHR5cGU9Y29kZQ==&#038;nonce=940f6b921a"  target="_blank" rel="noreferrer noopener">官方教程</a></p>



<p class="wp-block-paragraph">这里我推荐使用 Symbol 的方式集成到网站中，当然你也按照官方的教程使用其它方式集成</p>



<p class="wp-block-paragraph"><strong>第一步：将刚刚新建的项目生成 Symbol 接入链接，并复制</strong></p>



<figure class="wp-block-image size-full"><img alt="图片[5]-建站笔记-智翼分享" loading="lazy" decoding="async" width="1024" height="652" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231407172-image.png"  class="wp-image-341" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231407172-image.png 1024w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231407172-image-800x509.png 800w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231407172-image-768x489.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>第二步：将代码保存到主题设置</strong></p>



<p class="wp-block-paragraph">将以下代码中的链接替换为您刚刚复制的链接，然后 进入&nbsp;<qc style="color:#09ACE2;background:undefined">主题设置-自定义代码-自定义底部代码</qc>&nbsp;，粘贴后保存主题设置</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;script src="//at.alicdn.com/t/font_1706672_oa811wlg9gl.js">&lt;/script></code></pre>



<figure class="wp-block-image size-full"><img alt="图片[6]-建站笔记-智翼分享" loading="lazy" decoding="async" width="930" height="646" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231419318-image.png"  class="wp-image-342" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231419318-image.png 930w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231419318-image-800x556.png 800w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231419318-image-768x533.png 768w" sizes="auto, (max-width: 930px) 100vw, 930px" /></figure>



<p class="wp-block-paragraph">简单吧！网站集成 Iconfont图标 就已经全部搞定了！接下来就是使用 Iconfont图标 了！</p>



<p class="wp-block-paragraph"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><qc style="color:#fb2121;background:undefined">提醒：请勿直接将代码写入到主题源码，已更新就没了。</qc></mark></p>



<h2 class="wp-block-heading" id="wznav_2">三、使用 Iconfont图标</h2>



<p class="wp-block-paragraph">在已经添加到你项目中查找图标并复制图标代码，然后按照下面的格式替换<code>href="#iconxxx"</code>中的图标代码，将代码插入到你需要显示图标的地方！</p>



<pre class="wp-block-zibllblock-enlighter"><code class="gl" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;svg class="icon" aria-hidden="true">&lt;use xlink:href="#iconxxx">&lt;/use>&lt;/svg></code></pre>



<p class="wp-block-paragraph">还是按照在导航菜单中添加图标为例：</p>



<figure class="wp-block-image size-full"><img alt="图片[7]-建站笔记-智翼分享" loading="lazy" decoding="async" width="203" height="185" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231434506-image.png"  class="wp-image-343"/></figure>



<figure class="wp-block-image size-full"><img alt="图片[8]-建站笔记-智翼分享" loading="lazy" decoding="async" width="745" height="517" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231441453-image.png"  class="wp-image-344"/></figure>



<p class="wp-block-paragraph"><strong>最后我们看看效果吧！</strong></p>



<figure class="wp-block-image size-full"><img alt="图片[9]-建站笔记-智翼分享" loading="lazy" decoding="async" width="473" height="63" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231449603-image.png"  class="wp-image-345"/></figure>



<p class="wp-block-paragraph"><strong>是不是很简单啊，接下来我我们再试试在文章中插入</strong></p>



<p class="wp-block-paragraph">使用古腾堡编辑器需要将内容转换为HTML编辑，然后再复制图标代码：</p>



<figure class="wp-block-image size-full"><img alt="图片[10]-建站笔记-智翼分享" loading="lazy" decoding="async" width="572" height="411" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231503972-image.png"  class="wp-image-346"/></figure>



<figure class="wp-block-image size-full"><img alt="图片[11]-建站笔记-智翼分享" loading="lazy" decoding="async" width="969" height="133" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231520346-image.png"  class="wp-image-347" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231520346-image.png 969w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231520346-image-800x110.png 800w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231520346-image-768x105.png 768w" sizes="auto, (max-width: 969px) 100vw, 969px" /></figure>



<p class="wp-block-paragraph">使用经典编辑器也是需要先转为HTML编辑，再将图标代码复制到所需位置：</p>



<figure class="wp-block-image size-full"><img alt="图片[12]-建站笔记-智翼分享" loading="lazy" decoding="async" width="782" height="408" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231529907-image.png"  class="wp-image-348" srcset="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231529907-image.png 782w, https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231529907-image-768x401.png 768w" sizes="auto, (max-width: 782px) 100vw, 782px" /></figure>



<p class="wp-block-paragraph">主题设置中的部分内容也是支持的喔！例如在<code>加载更多</code>的文案中插入</p>



<figure class="wp-block-image size-full"><img alt="图片[13]-建站笔记-智翼分享" loading="lazy" decoding="async" width="752" height="197" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231537125-image.png"  class="wp-image-349"/></figure>



<figure class="wp-block-image size-full"><img alt="图片[14]-建站笔记-智翼分享" loading="lazy" decoding="async" width="191" height="51" src="https://zhiyifenxiang.com/wp-content/uploads/2025/01/20250218231544406-image.png"  class="wp-image-350"/></figure>



<p class="wp-block-paragraph"><strong>教程结束，赶紧试试吧</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://zhiyifenxiang.com/328.html/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
