You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中SweetAlert2因TrustedHTML限制无法运行求助

Google Sheets中SweetAlert2适配TrustedTypes的问题修复求助

原本在Google Sheets中运行正常的SweetAlert2脚本,自Google启用TrustedScriptURL/TrustedHTML安全要求后无法正常工作。我尝试了两种代码方案,均未解决问题:

方案一

const createPolicy = trustedTypes.createPolicy("forceInner", {
  createHTML: (string) => string,
  createScriptURL: (string) => string,
});
const script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.src = createPolicy.createScriptURL(
  "https://cdn.jsdelivr.net/npm/sweetalert2@11.7.32/dist/sweetalert2.js"
);
document.head.appendChild(script);

方案二

let createPolicy = trustedTypes.createPolicy("forceInner", {
  createHTML: (string) => string,
  createScriptURL: (string) => string,
});

let script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.src = createPolicy.createScriptURL(
  "https://cdn.jsdelivr.net/npm/sweetalert2@11.7.32/dist/sweetalert2.js"
);
document.head.appendChild(script);

script.setAttribute("type", "text/javascript");
script.src = createPolicy.createScriptURL(
  "https://cdn.jsdelivr.net/npm/dompurify@3.0.6/dist/purify.min.js"
);
document.head.appendChild(script);

createPolicy = trustedTypes.createPolicy("forceInner", {
   createHTML: (string) => DOMPurify.sanitize(string, {RETURN_TRUSTED_TYPE: true}),
   createScriptURL: (string) => DOMPurify.sanitize(string, {RETURN_TRUSTED_TYPE: true}),
   createScript: (string) => DOMPurify.sanitize(string, {RETURN_TRUSTED_TYPE: true})
});

测试方式

尝试过两种测试代码:

  • 直接调用:
    Swal.fire()
    
  • 通过脚本注入调用:
    script = document.createElement("script");
    script.setAttribute("type", "text/javascript");
    script.innerText = createPolicy.createScript("Swal.fire('Hello World')");
    document.head.appendChild(script);
    

无论使用哪种方案或测试方式,都会因加载的sweetalert2.js触发TrustedHTML相关错误(已使用未压缩版本排查问题),恳请协助修复该脚本。

内容的提问来源于stack exchange,提问作者UserNewObject

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 12:10:35