Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/e6320ff37689439b72f631cca49420ee.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name Python文档双语显示(逐段翻译)
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 在Python官方文档中逐段显示中英双语内容
// @author Mushroom-duck
// @match https://docs.python.org/*
// @grant none
// @license MIT
// @downloadURL https://update.greasyfork.icu/scripts/505550/Python%E6%96%87%E6%A1%A3%E5%8F%8C%E8%AF%AD%E6%98%BE%E7%A4%BA%EF%BC%88%E9%80%90%E6%AE%B5%E7%BF%BB%E8%AF%91%EF%BC%89.user.js
// @updateURL https://update.greasyfork.icu/scripts/505550/Python%E6%96%87%E6%A1%A3%E5%8F%8C%E8%AF%AD%E6%98%BE%E7%A4%BA%EF%BC%88%E9%80%90%E6%AE%B5%E7%BF%BB%E8%AF%91%EF%BC%89.meta.js
// ==/UserScript==
(function() {
'use strict';
// 获取当前页面URL
const currentURL = window.location.href;
if (currentURL.includes('docs.python.org/3')) {
// 替换URL中的语言标识,获取对应的中文文档URL
const chineseURL = currentURL.replace('docs.python.org/3', 'docs.python.org/zh-cn/3');
// 使用Fetch API获取中文文档内容
fetch(chineseURL)
.then(response => response.text())
.then(data => {
// 创建一个DOM解析器,将获取的HTML字符串解析为DOM对象
const parser = new DOMParser();
const chineseDoc = parser.parseFromString(data, 'text/html');
// 获取中文文档的主要内容
const chineseContent = chineseDoc.querySelector('.body');
// 获取当前页面的主要内容
const englishContent = document.querySelector('.body');
// 在英文内容后插入对应翻译
const insertChineseTrans = (element) => {
const englishElements = englishContent.querySelectorAll(element);
const chineseElements = chineseContent.querySelectorAll(element);
// 遍历英文段落并插入翻译
englishElements.forEach((origin, index) => {
if (chineseElements[index]) {
// 创建一个新的元素,用于存放中文内容
const chineseTrans = document.createElement(element);
chineseTrans.style.color = 'green'; // 设置中文段落文字颜色
chineseTrans.style.background = '#edf2fa'; // 设置中文段落背景色
chineseTrans.innerHTML = chineseElements[index].innerHTML;
// 在当前英文段落之后插入中文段落
origin.insertAdjacentElement('afterend', chineseTrans);
}
})
};
insertChineseTrans('h1');
insertChineseTrans('h2');
insertChineseTrans('h3');
insertChineseTrans('p');
})
.catch(error => {
console.error('无法加载中文文档:', error);
});
}
})();