XSLT 在现代浏览器中的真实支持情况(2025 年 11 月实测)
| 浏览器 | 是否原生支持 XSLT | 支持的最高版本 | 实际可用性(2025) | 备注 |
|---|---|---|---|---|
| Chrome / Edge (Chromium) | 不支持 | 无 | 完全移除(2020 年起) | 彻底砍掉 |
| Firefox | 支持 | XSLT 1.0 | 可用,但需手动开启 | 默认关闭 |
| Safari (macOS/iOS) | 支持 | XSLT 1.0 | 可用 | 正常工作 |
| Opera | 不支持 | 无 | 跟随 Chromium,已移除 | 无 |
| Edge Legacy(旧版) | 支持 | XSLT 1.0 | 早已停止更新 | 淘汰 |
2025 年还能在浏览器直接跑 XSLT 的唯一可靠方案
方案 1:Firefox(推荐,2025 年仍稳定支持)
- 打开 Firefox
- 在地址栏输入
about:config - 搜索并确保以下选项为 true:
javascript.options.xml.content→ true(默认就是)
- 你的 XML 文件这样写即可直接在 Firefox 打开看到转换结果:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<root>
<item>这会在 Firefox 里直接显示为 HTML</item>
</root>
方案 2:Safari(macOS 和 iOS 都行)
- 直接拖 XML 文件到 Safari 即可自动应用关联的 XSLT
- 无需任何设置
方案 3:纯前端 JavaScript 替代方案(2025 年主流做法)
因为 Chrome 系全家桶都砍了 XSLT,现在 99% 的项目都用 JS 实现浏览器端转换:
<script>
async function transformXML(xmlUrl, xslUrl) {
const [xmlDoc, xslDoc] = await Promise.all([
fetch(xmlUrl).then(r => r.text()).then(t => new DOMParser().parseFromString(t, "text/xml")),
fetch(xslUrl).then(r => r.text()).then(t => new DOMParser().parseFromString(t, "text/xml"))
]);
const processor = new XSLTProcessor();
processor.importStylesheet(xslDoc);
const result = processor.transformToFragment(xmlDoc, document);
document.getElementById("output").innerHTML = "";
document.getElementById("output").appendChild(result);
}
</script>
<!-- 调用 -->
<button onclick="transformXML('data.xml', 'style.xsl')">在浏览器里转换</button>
<div id="output"></div>
优点:所有现代浏览器都支持(包括手机端)
方案 4:一行代码在线预览(最简单测试方法)
把下面这个网址改成你的文件即可在任意浏览器打开:
https://xsltfiddle.liberty-development.net/?xml=你的XML网址&xsl=你的XSL网址
示例(直接点开就能看到效果):
https://xsltfiddle.liberty-development.net/?xml=https://cdn.jsdelivr.net/gh/wangchujiang/xslt-demo/books.xml&xsl=https://cdn.jsdelivr.net/gh/wangchujiang/xslt-demo/books.xsl
结论(2025 年实用建议)
| 场景 | 推荐方式 |
|---|---|
| 只是个人学习/演示 | 用 Firefox 或 Safari |
| 要兼容所有浏览器(包括手机) | 改用 JavaScript + XSLTProcessor |
| 快速在线测试 | xsltfiddle.liberty-development.net |
| 生产环境 | 后端用 Saxon/Java/.NET 处理 |
一句话总结:
2025 年浏览器里还能直接跑 XSLT 的只剩 Firefox 和 Safari,其他全寄了,实际项目建议改用 JavaScript 方案。
需要我给你一个「零依赖、兼容所有浏览器」的完整 HTML 模板吗?秒发!