`
},
ontimeout: function (err) {
document.getElementById('gptAnswer').innerHTML=`
Opps!TimeOut,Please try again,errinfo: ${err}
`
}
})
}
function creatBox(){
return new Promise((resolve)=>{
var divE = document.createElement('div');
var divId = document.createAttribute("id");
divId.value = 'gptDiv'
divE.setAttributeNode(divId);
var pE = document.createElement('p');
var pClass= document.createAttribute('class');
pClass.value = 'textClass';
pE.setAttributeNode(pClass)
var pText = document.createTextNode("chatGPT tools Plus ++ v0.0.1已启动");
pE.appendChild(pText);
divE.appendChild(pE);
divE.innerHTML=`
  openAI 已就绪,请输入你的问题
chatGPT tools Plus ++ v1.2.1(免费版)已启动
`
resolve(divE)
})
}
async function pivElemAddEventAndValue(append_case){
var search_content
if(append_case===2){
search_content=document.getElementById('kw').value
}
if(append_case===1){
search_content=document.querySelector("#tsf > div:nth-child(1) > div.A8SBwf > div.RNNXgb > div > div.a4bIc > input:nth-child(3)").value
}
if(append_case===0){
search_content=document.getElementsByClassName('b_searchbox')[0].value
}
document.getElementById("gptInput").value=search_content
document.getElementById('button_GPT').addEventListener('click',()=>{
your_qus=document.getElementById("gptInput").value
do_it()
})
}
async function appendBox(append_case){
return new Promise((resolve,reject)=>{
creatBox().then((divE)=>{
switch (append_case){
case 0: //bing
if(divE){
document.getElementById('b_context').prepend(divE)
}
break;
case 1://google
if(document.getElementsByClassName('TQc1id ')[0]){
document.getElementsByClassName('TQc1id ')[0].prepend(divE);
}
else{
document.getElementById("rcnt").appendChild(divE);
}
break;
case 2:
if(document.getElementById('content_right')){
document.getElementById('content_right').prepend(divE)
}
break;
default :
if(divE){
console.log(`啥情况${divE}`)
}
}}).catch((err)=>{
throw new Error(err)
})
resolve("finished")
})
}
function creatBox_and_addEventlis(append_case){
var divE = document.createElement('div');
var divId = document.createAttribute("id"); //创建属性
divId.value = 'gptDiv'; //设置属性值
divE.setAttributeNode(divId); //给div添加属性
var pE = document.createElement('p');
var pClass= document.createAttribute('class');
pClass.value = 'textClass';
pE.setAttributeNode(pClass)
var pText = document.createTextNode("chatGPT tools Plus ++ v0.1.3已启动");
pE.appendChild(pText);
divE.appendChild(pE);
switch (append_case){
case 0:
if(divE){
document.getElementById('b_context').prepend(divE)
}
break;
case 1:
if(document.getElementsByClassName('TQc1id ')[0]){
document.getElementsByClassName('TQc1id ')[0].prepend(divE);
}
else{
document.getElementById("rcnt").appendChild(divE);
}
break;
case 2:
if(document.getElementById('content_right')){
document.getElementById('content_right').prepend(divE)
}
break;
default :
if(divE){
document.getElementById('b_context').prepend(divE)
}
}
document.getElementById('gptDiv').innerHTML=`
  openAI 已就绪,请输入你的问题
chatGPT tools Plus ++免费版 v0.1.3已启动
`
var search_content
if(append_case===2){
search_content=document.getElementById('kw').value
}
if(append_case===1){
search_content=document.querySelector("#tsf > div:nth-child(1) > div.A8SBwf > div.RNNXgb > div > div.a4bIc > input:nth-child(3)").value
}
if(append_case===0){
search_content=document.getElementsByClassName('b_searchbox')[0].value
}
document.getElementById("gptInput").value=search_content
document.getElementById('button_GPT').addEventListener('click',()=>{
your_qus=document.getElementById("gptInput").value
do_it()
})
}
//焦点函数
function isBlur(){
var myInput = document.getElementById('gptInput');
if (myInput == document.activeElement) {
return 1
} else {
return 0
}
}
function keyEvent(){
document.onkeydown = function (e) {
var keyNum = window.event ? e.keyCode : e.which;
if (13 == keyNum) {
if (isBlur()) {
document.getElementById('button_GPT').click()
}
else{
console.log("失焦不执行")
}
}}
}
function checkIp(){
GM_xmlhttpRequest({
method: "GET",
url: "http://ip-api.com/json/",
onloadend: function (data) {
if(data){
try{
data=JSON.parse(data.response)
}catch(err){
console.log(err)
}
console.log(data.country)
if(data.country=="Hong Kong"){
document.getElementById('gptStatus').innerHTML=`  openAI 已就绪,请输入你的问题`
}
}
else{
document.getElementById('gptStatus').innerHTML=`  openAI 没有就绪,请更换你的IP为非大陆节点`
throw new Error('Error while executing the code');
}
},
onerror: function (err) {
document.getElementById('gptStatus').innerHTML=`  openAI 没有就绪,请更换你的IP为非大陆节点`
throw new Error('Error while executing the code');
},
ontimeout: function (err) {
document.getElementById('gptStatus').innerHTML=`  openAI 没有就绪,请更换你的IP为非大陆节点`
throw new Error('Error while executing the code');
}
})
}
function addBothStyle(){
GM_addStyle(`
@keyframes pulse {
100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
`)
}
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
//原生cookie函数
function getCookieObject() {
let cookieString = document.cookie;
cookieString = cookieString.substring(0, cookieString.length - 1);
let tempCookieArray = cookieString.split('; ');
let cookieObject = {}; // 存放 cookie 键值对
tempCookieArray.forEach(item => {
let name = item.substring(0, item.indexOf('='));
let value = item.substring(item.indexOf('=') + 1);
value = decodeURIComponent(value); // 还原字符串
cookieObject[name] = value; // 将键值插入中这个对象中
});
return cookieObject // 返回包含 cookie 键值对的对象
}
function autoClick(){
document.getElementById('button_GPT').click()
}
function log(a){
console.log(a)
}
function Uint8ArrayToString(fileData){
var dataString = "";
for (var i = 0; i < fileData.length; i++) {
dataString += String.fromCharCode(fileData[i]);
}
return dataString
}
function decodeUnicode(str) {
str = str.replace(/\\/g, "%");
//转换中文
str = unescape(str);
//将其他受影响的转换回原来
str = str.replace(/%/g, "\\");
//对网址的链接进行处理
str = str.replace(/\\/g, "");
return str;
}
})();