// ==UserScript== // @name 不要翻译github上的代码 // @namespace http://floatsyi.com/ // @version 0.16 // @description 避免google网页翻译github和npm```
```标签内的内容
// @author floatsyi
// @include *://github.com*
// @include *://www.npmjs.com*
// @match *://github.com*
// @match *://www.npmjs.com*
// @grant none
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
var addCodeEle = function (ele) {ele.innerHTML = '' + ele.innerHTML + '
'}
var hasCodeEleChild = function(ele) {return !!ele.querySelector('code')}
var href = window.location.href
var isChange = function(){
var yesOrNo = !(href === window.location.href)
href = window.location.href
return yesOrNo
}
var isLoaded = function(){return (!document.querySelector('.is-loading') && (!!document.querySelector('.file') || document.querySelectorAll('pre').length > 0))}
var time = 1
var doNotTranslateCode = function() {
if (!!document.querySelector('.file') && !document.querySelector('.file').querySelector('code')) {
addCodeEle(document.querySelector('.file'))
} else {
console.log('不要翻译github上的代码: 执行条件不足')
}
document.querySelectorAll('pre').forEach(function(pre){if (!!pre && !hasCodeEleChild(pre)) addCodeEle(pre)})
}
doNotTranslateCode()
document.addEventListener('click', function(e){
if (isChange() && window.location.href.search(/npmjs.com/i) === -1) {
var id = setInterval(function(){
// console.log(time)
time++
if (isLoaded() || time >= 1000) {
if (time>=1000) console.log('不要翻译github上的代码: 加载超时,请刷新浏览器')
// console.log('done')
doNotTranslateCode()
clearInterval(id)
time = 0
}
},50)
}
})
window.addEventListener("popstate", doNotTranslateCode)
})();