Mapaler / EhTagTranslator

将e绅士页面TAG换成中文,最全数据库。
GNU General Public License v3.0
538 stars 60 forks source link

新的翻译替换方法 #66

Closed xioxin closed 5 years ago

xioxin commented 5 years ago

https://gist.github.com/xioxin/d70257d290d16d9a7422ede048699e80 核心代码仅37行

Mapaler commented 5 years ago

textContent替换?不就是JS吗?

xioxin commented 5 years ago

嗯 低延迟 不需要等待dom完全加载在加载过程直接替换

OpportunityLiu commented 5 years ago

挺好的,顺便可以把数据源迁移过去啊

Mapaler commented 5 years ago

所以谁能告诉我原理吗:joy:

xioxin commented 5 years ago

MutationObserver 是dom监听器 dom发生变化的时候会触发, 甚至ui是被其他js修改了也会触发翻译 但是Tampermonkey加载代码是异步的 偶尔可能加载慢了 所以额外加一个createNodeIterator来遍历已经加载了的dom

Mapaler commented 5 years ago

那么浏览器支持度怎么样? 新增的tag会不会被修改?

xioxin commented 5 years ago

https://caniuse.com/#search=MutationObserver 会被修改

Mapaler commented 5 years ago

用JS就可以随意调控样式了。 是不是需要再做一个解释面板?

xioxin commented 5 years ago

打算不再使用Tampermonkey 直接使用chrome插件开发

Mapaler commented 5 years ago

其实我也想建议你做成插件,但是能过审吗?

xioxin commented 5 years ago

肯定过不了审 直接手动安装就好 刚刚试验了下 感觉页面就像原生中文一样 不会有先显示英文再变成中文的情况

xioxin commented 5 years ago

EhSyringeLite.zip

Mapaler commented 5 years ago

这样的话更新程序不是很麻烦吗

xioxin commented 5 years ago

这无所谓

xioxin commented 5 years ago

EhSyringeLiteTest2.zip

image image image image image image image

Mapaler commented 5 years ago

那么,旧有的脚本是停止开发吗?

Mapaler commented 5 years ago

希望考虑一下火狐的扩展,因为安卓上火狐可以装扩展的,手机上可以装Tampermonkey然后用ETS

xioxin commented 5 years ago

火狐不是兼容chrome的扩展吗

Mapaler commented 5 years ago

火狐只是使用WebExtention API,不能说兼容Chrome,很多Chrome的扩展火狐用不了的。

xioxin commented 5 years ago

GIF

Mapaler commented 5 years ago

不是说不支持搜索多个吗?

xioxin commented 5 years ago

自己写的不是 datalist

Mapaler commented 5 years ago

整个下拉栏都是自己写的?用dom实现的还是用的系统list

xioxin commented 5 years ago

是dom 没有现成的接口

Mapaler commented 5 years ago

这样得多好多dom哦,感觉会很卡。 既然都是自己做的话,可以把图标也显示出来了。

xioxin commented 5 years ago

不会的卡 不是所有的tag都加载 只有搜索到的才会加载 并且最多加载50条 图片可以显示 QQ截图20190708214625

Mapaler commented 5 years ago

不过这样的话,我写的那个编辑tag的辅助工具还不好兼容了

xioxin commented 5 years ago

怎么讲? 不是很理解

Mapaler commented 5 years ago

因为是读取的datalist来搜索,下面那个标签编辑工具,要不你把这个功能也写进去? 浮动窗口那部分不用写,这个脚本可以继续用,就是搜索数据这部分肯定是无法读取另一个脚本的变量的。 https://github.com/Mapaler/EhTagTranslator/wiki/ETTWikiHelper#%E6%A0%87%E7%AD%BE%E7%BC%96%E8%BE%91%E5%B7%A5%E5%85%B7

xioxin commented 5 years ago
JSON.parse(window.localStorage.getItem('tag-list'))

image

xioxin commented 5 years ago

没想到吧 image

Mapaler commented 5 years ago

这次没用GM的API来储存数据了吗?

OpportunityLiu commented 5 years ago

local storage不是可以直接塞对象的?

xioxin commented 5 years ago

image 并不能

不是油猴子写的 肯定不是GM啊 至于为什么不用插件的chrome.storage.local 来存储 因为这个接口是异步的 没办法在dom渲染之前取出来 所以还是用了 window.localStorage

但是跨域下载只能在 background页 中进行, 但是却不能访问window.localStorage

所以就要发消息到 background页 进行下载, 下载好后存入 chrome.storage.local, 提示用户手动刷新 前台页面检测到数据,转存入window.localStorage, 再自动刷新页面加载数据进行页面翻译 ,

xioxin commented 5 years ago

我现在访问github巨慢无比 推代码推了好几次了才刚成功 挂代理都慢

xioxin commented 5 years ago

image

Mapaler commented 5 years ago

我也是访问github慢

Mapaler commented 5 years ago

我觉得这已经不lite了,比原来的更复杂啊。你的名字应该反过来。或者直接叫ETS2

xioxin commented 5 years ago

确实一点不lite

xioxin commented 5 years ago

试了下火狐 除了下载数据时候 发送桌面通知有个更新通知接口不兼容其他都可以正常使用

Mapaler commented 5 years ago

要不就叫Extention,ETE。 安卓火狐可以用扩展啊,可以usb调试连接后用桌面版连接进行调试,所以考虑一下安卓手机使用不?

xioxin commented 5 years ago

苹果用户 没有android 手机

Mapaler commented 5 years ago

呼吁苹果允许第三方浏览器

xioxin commented 5 years ago

我没有办法测试手机插件 你们有条件可以试试

xioxin commented 5 years ago

chrome 插件市场可是上架E站相关插件 搜索hentai已经有一些插件的 ,但是上架需要有外币信用卡激活账户并支付5美元 我并没有信用卡

Mapaler commented 5 years ago

Screenshot 2019-07-15 14 42 39 我想测试一下ETSL,可是安装不上webpack-cli要怎么办啊

xioxin commented 5 years ago

如果只是想试一下的话 build目录里是一份已经编译好的

Mapaler commented 5 years ago

没有TAG详情的吗?也没有控制面板。

xioxin commented 5 years ago

现在只有 翻译 tag 和tag提示

xioxin commented 5 years ago

你如果想试试的话 也可以开发 在src中创建新的ts文件

加入到编译入口 /webpack.config.js image

修改插件配置 插入脚本 /build/manifest.json image