您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Easier to read and view corrections in the "All Corrections" view. - https://greasyfork.org/en/users/3656-kaiko
当前为
- // ==UserScript==
- // @name Lang-8 - "All Corrections" View Enhancer
- // @namespace Lang8LTR
- // @description Easier to read and view corrections in the "All Corrections" view. - https://greasyfork.org/en/users/3656-kaiko
- // @include http://lang-8.com/*/journals/*
- // @include https://lang-8.com/*/journals/*
- // @version 1
- // @grant none
- // ==/UserScript==
- /*
- Remove strike-through text on corrections, "All Corrections" view and default.
- All Corrections View:
- Expands the view more dynamically for larger displays.
- Removes "No correction needed" green text messages.
- Re-injects the comment icon for comments, as they didn't always appear.
- Absurd hacked in feature: Removes corrections that are the same as your entry's sentence (May remove duplicate corrections that appear the same...(To be fixed))
- Removes empty 'correct' fields that overlap their icons and spacing.
- Removes unnecessary and large spacing between corrections.
- Inserts a grey background for corrections to differentiate them from your written entry.
- */
- function resizeAllCorrectionsWindow(){
- var allCorrectionsParent = document.getElementById("allCorrectionsPanel_c");
- var allCorrections = document.getElementById("allCorrectionsPanel");
- var heightBox = allCorrections.getElementsByClassName("bd")[0];
- if (allCorrectionsParent){
- //Resize the window
- var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
- var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
- allCorrections.style.width = w/1.5 + "px";
- heightBox.style.height = h/1.5 + "px";
- //ReCenter it
- allCorrectionsParent.style.left = "16.5%";
- allCorrectionsParent.style.top = parseFloat("100%") + document.documentElement.scrollTop + "px";
- }
- }
- window.onresize = resizeAllCorrectionsWindow;
- document.getElementById("showAll").onclick = function showallexecuteLineThroughRemoval() {
- var allCorrectionsParent = document.getElementById("allCorrectionsPanel_c");
- var allCorrections = document.getElementById("allCorrectionsPanel");
- var heightBox = allCorrections.getElementsByClassName("bd")[0];
- resizeAllCorrectionsWindow();
- //Remove "All Corrections" line-through
- var b = allCorrections.getElementsByTagName("span");
- for (i = 0; i < b.length; ++i) {
- if (b[i].style.textDecorationLine){
- b[i].innerHTML = "";
- }
- }
- //Remove duplicate non-corrected lines from our entry, for further readability and less confusion
- //Hacked-in absurdly as Lang-8's developers didn't correctly use tags around our written text, and corrections.
- //TODO: Sanity check for whether we have more than one match in corrections, and if that increases +1 compared to innerHTML, to then safely remove them.
- var bc = allCorrections.textContent;
- var bd = allCorrections.getElementsByClassName("correct");
- for (i = 0; i < bd.length; ++i) {
- var re = new RegExp(bd[i].textContent, 'g');
- var matchCount = bc.match(re).length;
- if (matchCount >= 2){
- console.log(matchCount +" Diff is: "+bd[i].textContent);
- bd[i].textContent = "-";
- }
- }
- //Remove default NoCorrectionNecessary message
- var c = allCorrections.getElementsByClassName("corrected perfect");
- for (i = 0; i < c.length; ++i) {
- c[i].innerHTML = "";
- }
- //Reinsert comment image next to comments since they don't always have one
- var d = allCorrections.getElementsByClassName("correction_comment");
- for (i = 0; i < d.length; ++i) {
- d[i].innerHTML = '<img alt="Comment" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAANlBMVEV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX3AS/7wAAAAEXRSTlMACTReYWJmdpaf7e7v8PHy93y2WnUAAAA2SURBVHjancc3DgAgEMTAJeew//8sFKcTNVPZ8IOiO1SqBj6+ZlBNhEWxPK5MFgORd4RKVuIAotwHM1W7LmAAAAAASUVORK5CYII" />' + " " + d[i].innerHTML + "<br />";
- d[i].className = '';
- }
- //Remove empty 'correct' fields
- var e = allCorrections.getElementsByClassName("correct");
- for (i = 0; i < e.length; ++i) {
- if (e[i].textContent == ''){
- e[i].className = '';
- }
- }
- //Remove some unnecessary spacing
- var toRep = heightBox.innerHTML;
- var toRepB = toRep.replace(/<br>/g, "");
- var toRepC = toRepB.replace(/<p><\/p>/g, "");
- var toRepD = toRepC.replace(/<li class="corrected perfect"><\/li>/g, "");
- var toRepE = toRepD.replace("Title", "Title<br>");
- var toRepF = toRepE.replace("Main Body", "Main Body<br>");
- heightBox.innerHTML = toRepF;
- //Break up our corrections with a background
- var bb = allCorrections.getElementsByClassName("correction_field");
- for (i = 0; i < bb.length; ++i) {
- bb[i].style.backgroundColor = "#E5E5E5"
- }
- };
- window.onload = function onloadexecuteLineThroughRemoval(){
- //Remove correction posts' themselves' line-through
- var a = document.getElementsByClassName("sline");
- for (i = 0; i < a.length; ++i) {
- a[i].innerHTML='';
- }
- }