- Firefox-Version
- 144 (64-Bit)
- Betriebssystem
- Windows 10 Version 21H2 (Build 19044.6456)
Das Skript funktioniert nicht mehr so wirklich!
DeepL hat wohl etwas an seine Page oder wie auch immer geändert!
Kurze Erklärung zum Skript!
Text oder ein Wort markieren, und im Kontextmenü auf "Übersetzen (DeepL)" klicken.
Nun sollte sich ein neuer Tab öffnen und der Text oder das Word übersetzt werden!
Jetzt das Problem.
Der Text oder das Wort werden zwar übergeben, ABER kurz darauf wird auf der Seite irgendetwas nachgeladen und
der übergebene Text (Wort) sind weg, und nichts wird übersetzt!
Ob sich DAS mal jemand anschauen kann?
Denn ich habe keine Ahnung, wie ich DAS angehen könnte.
Hier noch einmal das Skript:
JavaScript
// Translate_DeepL.uc.js
// https://github.com/ardiman/userChrome.js/tree/master/contexttranslate
// ex ContextTranslate.uc.js///
// modifiziert by universum 123, Umlaute geändert by 2002Andreas
// https://www.camp-firefox.de/forum/thema/126100/?postID=1107070#post1107070
(function () {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
let translate = function () {
let browserMM = gBrowser.selectedBrowser.messageManager;
browserMM.addMessageListener('getSelection', function listener(message) {
let t = (message.data !== '');
let e = (document.charset || document.characterSet);
if (t) {
openWebLinkIn('https://www.deepl.com/translator#en/de/' + encodeURIComponent(message.data), 'tab');
} else {
openWebLinkIn('https://www.deepl.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=de-DE', 'tab');
};
browserMM.removeMessageListener('getSelection', listener, true);
});
browserMM.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true);
}
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-DeepLtranslate';
menuitem.setAttribute('label', '\u00dcbersetzen (DeepL)');
//menuitem.setAttribute('tooltiptext', 'Mit DeepL \u00fcbersetzen');
menuitem.classList.add('menuitem-iconic');
let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
let IconPath = '/chrome/icons/'; // Pfad in den entsprechenden Unterordner
let ButtonIcon = "DeepL_2.png"; // Name & Dateiendung des anzuzeigenden Symbols!
menuitem.style.setProperty('--menuitem-icon', 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")');
menuitem.addEventListener('command', translate);
let refItem = document.getElementById('context-inspect');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
Alles anzeigen
Das Symbol > <