beautifyAi

去除杂乱的样式

// ==UserScript==
// @name         beautifyAi
// @author       gyk
// @description  去除杂乱的样式
// @match        https://codenews.cc/chatgpt
// @grant        none
// @license MIT
// @version 0.0.1.20230927063805
// @namespace https://greasyfork.org/users/302901
// ==/UserScript==

// 是否已经清除过样式的标志
let clear_flag = true
// 当前为止已经提问的数量
let question_num = 0
// 上下箭头按动的总次数
let click_num = 0
// 当前为止已经提问的问题数组
let question_arr = [];
// 当前滑动条位置
let scroll_height = 0


// 区分提问和回答
setInterval(function() {
  // 1.去除杂乱样式
  if(clear_flag){
    // 去除样式2023.09.27更新
    document.getElementById("controls").nextSibling.nextSibling.nextSibling.nextSibling.style.display="none"
    // 右侧去除且宽度100%
    document.getElementById("botColumn").style.display="none"
    document.getElementsByClassName("col-md-9")[0].style.width="100%"
    // 底部二维码去除
    document.getElementsByClassName("row streams")[1].style.display="none"
    // 底部使用示例去除
    document.getElementsByClassName("col-xs-12 col-md-12")[0].style.display="none"
    // 拉长显示区域
    document.getElementById("container").style.height="880px"
    // 增大全部清除按钮
    document.getElementById("new_chat").value="全部清除"
    document.getElementById("new_chat").style.fontSize="19px"
    document.getElementById("new_chat").style.padding="5px 353px"
    // 放大提问按钮
    document.getElementsByClassName("pull-right")[0].lastElementChild.value="开始提问"
    document.getElementsByClassName("pull-right")[0].lastElementChild.style.padding="10px 428px"
    // 底部广告去除
    //document.getElementById("aswift_3_host").style.display="none"
    // 底部空白去除
    // document.getElementsByClassName("adsbygoogle adsbygoogle-noablate")[1].remove()
    // document.getElementById("container").nextSibling.nextSibling.style.minHeight="1000px"
    
    // 底部链接去除
    // document.getElementById("controls").nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.style.display="none"
    // 拉长显示区域
    // document.getElementById("container").style.height="100%"
    // document.body.style.padding="0px"
    clear_flag=false
  }

  // 2.设置特定样式
  let new_question_num = document.getElementsByClassName("bot").length
  if(question_num < new_question_num){
    question_num = new_question_num
    console.log("开始渲染")
    let elements1 = document.getElementsByClassName("bot");
    let elements2 = document.getElementsByClassName("me");
    for (let i = 0; i < elements1.length; i++) {
      elements1[i].innerHTML="答案";
      elements1[i].style.color="red"
      elements1[i].style.textAlign="center"
      elements1[i].style.lineHeight="50px"
      elements1[i].style.backgroundColor="green"
    }
    for (let i = 0; i < elements2.length; i++) {
      elements2[i].innerHTML="问题";
      elements2[i].style.color="red"
      elements2[i].style.textAlign="center"
      elements2[i].style.lineHeight="50px"
      elements2[i].style.backgroundColor="blue"
    }
    // 获取所有的问题
    document.querySelectorAll("pre").forEach((item,index)=>{
    let isOdd = (parseInt(index) % 2) != 0;
        if(isOdd){
            question_arr.push(item)
        }
    })
    // 添加回到底部按钮
    let content = document.getElementById("upArrow").innerHTML;
    if(content!="BOTTOM"){
        document.getElementById("upArrow").innerHTML="BOTTOM"
        document.getElementById("upArrow").style.top=(document.getElementsByClassName("container-fluid")[0].scrollHeight-240)+"px"
        document.getElementById("upArrow").style.right="50px"
        document.getElementById("upArrow").style.textAlign="center"
        document.getElementById("upArrow").style.paddingTop="40px"
    }
    let current_height = document.getElementsByClassName("container-fluid")[0].scrollHeight
    if(current_height>scroll_height){
        console.log(current_height,scroll_height)
        scroll_height=document.getElementsByClassName("container-fluid")[0].scrollHeight
        document.getElementById("upArrow").style.top=(document.getElementsByClassName("container-fluid")[0].scrollHeight-240)+"px"
    }
  }
}, 100);


window.addEventListener("keydown", function (event) {
    // 监听向上箭头
    if(event.keyCode === 38){
        console.log("===")
        // 找到上一次提问的问题
        click_num= (question_num < click_num) ? click_num : (click_num=click_num+1)
        console.log(click_num)
        if(question_arr.length === 1){
            document.getElementById("textbox").value=question_arr[0].innerHTML
        }
        // 显示在输入框
        document.getElementById("textbox").value=question_arr[question_arr.length-1-click_num].innerHTML
    }
});
window.addEventListener("keydown", function (event) {
    // 监听向下箭头
    if(event.keyCode === 40){
        // 找到上一次提问的问题
        click_num= (click_num === 0) ? click_num=0 : (click_num= click_num-1)
        // 显示在输入框
        document.getElementById("textbox").value=question_arr[question_arr.length-1-click_num].innerHTML
    }
});

// 监听滚动条位置
window.addEventListener("scroll", function() {
//   console.log(window.pageYOffset);
//   console.log(document.getElementById("upArrow").style.top)
  document.getElementById("upArrow").style.top=(window.pageYOffset)+"px"
  if(!document.getElementById("upArrow").hasAttribute("onclick")){
    document.getElementById("upArrow").setAttribute("onclick","window.scrollTo(0,9999999999)")
  }
});