news 2026/11/5 3:58:21

测试代码相关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
测试代码相关

<!-- 全局音频播放器,由父窗口统一管理 -->

<audio id="masterAudio" style="display:none;"></audio>

<script>

// 提供给子页面调用:借用子页面的刷卡按键动作来激活父窗口的播放权限

window.unlockParentAudio = function () {

var audio = document.getElementById('masterAudio');

if (audio.__unlocked) return; // 已经解锁过就跳过

// 播放一段极短的静音,骗过浏览器

audio.src = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA";

audio.play().then(function () {

audio.__unlocked = true;

console.log("🎵 父窗口音频通道已解锁!");

}).catch(function (e) {

console.warn("父窗口解锁失败", e);

});

};

// 提供给子页面调用:播放报错声音

window.playParentVoice = function (text, lang) {

// 检查开关状态

if (localStorage.getItem('voiceAlert') === 'off') return;

var audio = document.getElementById('masterAudio');

var voiceName = (lang && lang.indexOf('zh') === 0) ? 'zh-CN-XiaoxiaoNeural' : 'vi-VN-HoaiMyNeural';

var url = 'https://api.streamelements.com/kappa/v2/speech?voice=' + voiceName + '&text=' + encodeURIComponent(text);

audio.src = url;

audio.play().catch(function (e) {

console.warn("父窗口播报被拦截:", e);

});

};

</script>

<script type="text/javascript">

// 获取当前语言(PVN 越南文,PSH 中文)

function getVoiceLang() {

return $("#<%= ddlLanguage.ClientID %>").val() === "PSH" ? "PSH" : "PVN";

}

// 多语言字典

function getVoiceText(key) {

var dict = {

PVN: {

on: "Nhắc nhở bằng giọng nói: Bật",

off: "Nhắc nhở bằng giọng nói: Tắt"

},

PSH: {

on: "語音提醒:開",

off: "語音提醒:關"

}

};

return dict[getVoiceLang()][key];

}

// 刷新图标颜色和文字

function refreshVoiceIcon() {

var isOff = localStorage.getItem('voiceAlert') === 'off';

$('#voiceIcon').css('color', isOff ? '#ccc' : ''); // 关闭时变灰

$('#voiceToggle').attr('title', isOff ? getVoiceText('off') : getVoiceText('on'));

}

$(function () {

refreshVoiceIcon();

$('#voiceToggle').on('click', function () {

var isOff = localStorage.getItem('voiceAlert') === 'off';

if (isOff) {

localStorage.setItem('voiceAlert', 'on'); // 打开

} else {

localStorage.setItem('voiceAlert', 'off'); // 关闭

var audio = document.getElementById('masterAudio');

if (audio) audio.pause(); // 关的时候立刻停掉正在读的声音

}

refreshVoiceIcon();

});

});

</script>

<!-- ========== 语音播报 ========== -->

<script type="text/javascript">

$(function () {

// 1. 监听按键(刷卡/扫码)和点击,顺便让父窗口激活权限

$(document).on('keydown click', function () {

if (window.parent && window.parent.unlockParentAudio) {

window.parent.unlockParentAudio();

}

});

// 2. 检查本页面的提示信息

var $msg = $('#<%= labMsg.ClientID %>');

var text = $msg.text().trim();

if (!text) return;

// 蓝色(成功)不播报

var color = ($msg.css('color') || '').toLowerCase().replace(/\s+/g, '');

if (color === 'rgb(0,0,255)' || color === '#0000ff' || color === 'blue') return;

// 3. 交给父窗口播报(★ 指定越南语:vi-VN)

if (window.parent && window.parent.playParentVoice) {

window.parent.playParentVoice(text, 'vi-VN');

}

});

</script>

<!-- ========== 语音播报结束 ========== -->

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/5 3:56:17

Eclipse 新手入门:从安装配置到代码调试全流程

摘要:本文面向 Java 初学者,以实战视角完整讲解 Eclipse 的下载、安装与核心配置流程。内容涵盖 JDK 环境检查、官方安装包获取、中文语言包配置、工作台界面解析、首个 Java 项目创建、代码编写规范、程序运行与断点调试、常见启动报错排查、透视图与工作区管理,以及新手避…

作者头像 李华
网站建设 2026/11/5 3:55:47

代扣业务资质要求高吗?哪些行业能做自动扣款

经常有企业老板问&#xff0c;代扣这件事是不是门槛特别高、是不是只有大公司才能做&#xff0c;其实这个问题要分两头看&#xff0c;资质要求确实比普通收款多一些&#xff0c;但远没有想象中那么高&#xff0c;关键看你属于哪个行业、业务规不规范。下面把哪些行业能做、每个…

作者头像 李华
网站建设 2026/11/5 3:52:47

真实项目拆解:低代码平台如何隔离流程设计与运行?

老炮淘金:13 个真实企业项目的架构高光 S03 基于一套企业真实工业互联网低代码平台源码实读 关键词:低代码 BPMN Flowable 设计态与运行态 流程引擎 多租户 👋 欢迎阅读 🏠个人主页: 知守观 📘我的专栏: 老炮淘金:13个真实企业项目的架构高光 💻当前内容:…

作者头像 李华
网站建设 2026/11/5 3:51:21

华为校招机考真题 AI方向 2026-10-28【基于信息增益的决策树】

华为校招&实习机试在线OJ刷题系统 &#xff5c; 在线OJ注册使用教程 目录 题目 思路 Code 题目 题目内容&#xff1a; 信息熵表示数据集的不确定性&#xff1a;H(S) − Σᵢ₌₁ᶜ pᵢlog₂(pᵢ)。 数据集 S 中有 c 个类别&#xff0c;pᵢ 为第 i 类的出现频率。 …

作者头像 李华