您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
text to ipa
- // ==UserScript==
- // @name IPA
- // @namespace http://www.olivetti.info
- // @description text to ipa
- // @include *
- // @version 1
- // @grant GM_xmlhttpRequest
- // @grant GM_registerMenuCommand
- // ==/UserScript==
- function doMonkey(){
- work(false,"words.json");
- }
- function doMonkey2(){
- work(true,"words.json");
- }
- function doMonkey3(){
- work(false,"wordsAmE.json");
- }
- function doMonkey4(){
- work(true,"wordsAmE.json");
- }
- function work(remove,dict){
- GM_xmlhttpRequest({
- method: 'GET',
- url: 'http://www.olivetti.info/'+dict,
- onload: function (response) {
- dataReady(response.responseText, remove);
- }
- });
- }
- function dataReady(text,remove) {
- words = JSON.parse(text);
- function replaceIpaString(s) {
- if (s.length == 0) return '';
- var delim = ' ,.;:<>()\n!\"—'.split('');
- var p = - 1;
- for (var i = 0; i < delim.length; i++) {
- var p2 = s.indexOf(delim[i]);
- if (p2 != - 1 && (p == - 1 || p2 < p)) p = p2;
- }
- if (p == 0) return s.charAt(0) + replaceIpaString(s.substring(1));
- var word = s;
- if (p != - 1) word = s.substring(0, p);
- var ipaword = words[word];
- var skip = word.length;
- if (ipaword !== undefined){
- if(remove)ipaword = ipaword.replace(/[.ˈ]/g,'').replace(/[(]r[)]/g,'').replace(/[ˌ]/g,'');
- word = ipaword;
- }
- return word + replaceIpaString(s.substring(skip));
- }
- function replaceIpa(n) {
- var m;
- if (n.nodeType == 3) { // TEXT_NODE
- var sp = n.parentNode.nodeName.toLowerCase();
- if( sp != "style" && sp != "script" ){
- ns = replaceIpaString(n.data.toLowerCase());
- n.data = ns;
- }
- }
- else if (n.nodeType == 1) { // ELEMENT_NODE
- for (m = n.firstChild; null != m; m = m.nextSibling) {
- replaceIpa(m);
- }
- }
- }
- replaceIpa(document.body);
- }
- GM_registerMenuCommand( "Convert EN", doMonkey);
- GM_registerMenuCommand( "Convert EN clean", doMonkey2);
- GM_registerMenuCommand( "Convert US", doMonkey3);
- GM_registerMenuCommand( "Convert US clean", doMonkey4);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址