diff --git a/core/iframe-messaging.js b/core/iframe-messaging.js index 8f3fdcb..4b58d10 100644 --- a/core/iframe-messaging.js +++ b/core/iframe-messaging.js @@ -2,9 +2,7 @@ export function getTrustedOrigin() { return window.location.origin; } -export function getIframeTargetOrigin(iframe) { - const sandbox = iframe?.getAttribute?.('sandbox') || ''; - if (sandbox && !sandbox.includes('allow-same-origin')) return 'null'; +export function getIframeTargetOrigin() { return getTrustedOrigin(); } diff --git a/index.js b/index.js index 6496f13..f8b322b 100644 --- a/index.js +++ b/index.js @@ -30,7 +30,6 @@ import { initTts, cleanupTts } from "./modules/tts/tts.js"; extension_settings[EXT_ID] = extension_settings[EXT_ID] || { enabled: true, - sandboxMode: false, recorded: { enabled: true }, templateEditor: { enabled: true, characterBindings: {} }, tasks: { enabled: true, globalTasks: [], processedMessages: [], character_allowed_tasks: [] }, @@ -270,7 +269,7 @@ async function waitForElement(selector, root = document, timeout = 10000) { function toggleSettingsControls(enabled) { const controls = [ - 'xiaobaix_sandbox', 'xiaobaix_recorded_enabled', 'xiaobaix_preview_enabled', + 'xiaobaix_recorded_enabled', 'xiaobaix_preview_enabled', 'scheduled_tasks_enabled', 'xiaobaix_template_enabled', 'xiaobaix_immersive_enabled', 'xiaobaix_fourth_wall_enabled', 'xiaobaix_audio_enabled', 'xiaobaix_variables_panel_enabled', @@ -379,12 +378,6 @@ async function setupSettings() { if (!settings.enabled) toggleSettingsControls(false); - $("#xiaobaix_sandbox").prop("checked", settings.sandboxMode).on("change", async function () { - if (!isXiaobaixEnabled) return; - settings.sandboxMode = $(this).prop("checked"); - saveSettingsDebounced(); - }); - const moduleConfigs = [ { id: 'xiaobaix_recorded_enabled', key: 'recorded' }, { id: 'xiaobaix_immersive_enabled', key: 'immersive', init: initImmersiveMode }, @@ -531,7 +524,6 @@ async function setupSettings() { } ON.forEach(k => setChecked(MAP[k], true)); OFF.forEach(k => setChecked(MAP[k], false)); - setChecked('xiaobaix_sandbox', false); setChecked('xiaobaix_use_blob', false); setChecked('Wrapperiframe', true); try { saveSettingsDebounced(); } catch (e) {} diff --git a/modules/iframe-renderer.js b/modules/iframe-renderer.js index 63f49a5..1c650d1 100644 --- a/modules/iframe-renderer.js +++ b/modules/iframe-renderer.js @@ -358,10 +358,6 @@ export function renderHtmlInIframe(htmlContent, container, preElement) { iframe.setAttribute('scrolling', 'no'); iframe.loading = 'eager'; - if (settings.sandboxMode) { - iframe.setAttribute('sandbox', 'allow-scripts'); - } - const wrapper = getOrCreateWrapper(preElement); wrapper.querySelectorAll('.xiaobaix-iframe').forEach(old => { try { old.src = 'about:blank'; } catch (e) {} diff --git a/modules/template-editor/template-editor.js b/modules/template-editor/template-editor.js index ceb5dfc..ca3a326 100644 --- a/modules/template-editor/template-editor.js +++ b/modules/template-editor/template-editor.js @@ -671,8 +671,6 @@ class IframeManager { static writeContentToIframe(iframe, content) { try { const html = buildWrappedHtml(content); - const sbox = !!(extension_settings && extension_settings[EXT_ID] && extension_settings[EXT_ID].sandboxMode); - if (sbox) iframe.setAttribute('sandbox', 'allow-scripts allow-modals'); iframe.srcdoc = html; const probe = () => { const targetOrigin = getIframeTargetOrigin(iframe); diff --git a/settings.html b/settings.html index 2e471de..4d76b53 100644 --- a/settings.html +++ b/settings.html @@ -41,10 +41,6 @@