⎗ ✓ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49(() => { function addButtons(txt2img) { // generateボタン消すなら下の行コメントアウト解除 // document.querySelector(`#${txt2img}_generate`).style.display = 'none'; function createElementFromHTML(html, callback) { const tempEl = document.createElement('div'); tempEl.innerHTML = html; const child = tempEl.firstElementChild; child.addEventListener('click', callback); return child } const generateButton = document.querySelector(`#${txt2img}_generate`); const reuseSeedButton = document.querySelector(`#${txt2img}_reuse_seed`) const seedInput = document.querySelector(`#${txt2img}_seed > label > input`); const box = document.querySelector(`#${txt2img}_generate_box`); box.style.gap = '2px'; box.append(createElementFromHTML( '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">🎲</button>', () => { seedInput.value = -1; seedInput.dispatchEvent(new Event('input')); generateButton.click(); } )); box.append(createElementFromHTML( '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">♻</button>', () => { reuseSeedButton.click(); // うまく動作しない場合は1000の部分を大きくする setTimeout(() => { generateButton.click(); }, 1000); } )); box.append(createElementFromHTML( '<button class="lg primary gradio-button svelte-cmf5ev" style="min-width:0;">+1</button>', () => { seedInput.value = parseInt(seedInput.value) + 1; seedInput.dispatchEvent(new Event('input')); generateButton.click(); } )); } addButtons('txt2img'); addButtons('img2img'); })();