您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ChatGPT直接輸出HTML
- // ==UserScript==
- // @name ChatGPT output HTML direct
- // @namespace http://tampermonkey.net/
- // @version 0.8
- // @description ChatGPT直接輸出HTML
- // @description:en ChatGPT output HTML direct
- // @author cat-no-war
- // @match https://chat.openai.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=openai.com
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- setInterval(function(){
- var codes= document.querySelectorAll("code:not([add_frame])")
- for(let i=0;i<codes.length;i++){
- let code=codes[i];
- //wait completed
- let pre=code.closest("pre");
- if(pre==null){
- code.setAttribute("add_frame",true);
- continue;
- }
- //if(codeParentIndex==codeParentLength-1)continue;
- code.setAttribute("add_frame",true);
- let lang=code.parentElement.parentElement.children[0].children[0].innerText;
- let oldText;
- if(lang=="html" || lang=="php"){
- let newFrame=document.createElement("iframe");
- newFrame.style.width="100%";
- newFrame.style.height="512px";
- oldText=code.innerHTML;
- newFrame.src = "data:text/html;charset=utf-8," + encodeURIComponent(code.innerText);
- setInterval(()=>{
- if(oldText!=code.innerHTML){
- newFrame.src="";
- newFrame.src = "data:text/html;charset=utf-8," + encodeURIComponent(code.innerText);
- //newFrame.contentWindow.location.reload(true);
- }
- oldText=code.innerHTML
- },500);
- code.parentElement.parentElement.parentElement.appendChild(newFrame);
- }else if(lang="javascript"){
- let button = document.createElement("button");
- button.innerHTML="Play";
- oldText=code.innerText;
- var r=`eval(\`${code.innerText}\`);`
- button.setAttribute("onclick",r)
- eval(code.innerText);
- setInterval(()=>{
- if(oldText!=code.innerText){
- r=`eval(\`${code.innerText}\`);`
- button.setAttribute("onclick",r)
- eval(code.innerText);
- }
- oldText=code.innerText
- },500);
- code.parentElement.parentElement.parentElement.appendChild(button);
- }
- }
- }, 500);
- })();