Typora破解,自行修改文件,无需网盘下载资源

* 本次修改涉及到的三个文件

图1

图2&3

步骤1. 去除打开后弹出的未激活弹窗

  1. 找到Typora安装目录

  2. 打开Typora\resources\window.html文件

  3. 在< head > 标签后加上以下代码:

     <style>
             body>div[role="button"] {
                 visibility: hidden;
             }
     </style>
    
    • 上述步骤可能不够精准,会误伤其他按钮。也可以采用下方隐藏指定按钮,不过因为未激活状态下,打开typora之后就会直接弹出激活弹窗,使用上方代码也没关系,二选一
     <style>
       /* 只隐藏包含特定文本的激活按钮(更精准) */
       div[role="button"]:has-text("激活"),
       div[role="button"]:has-text("购买"),
       div[role="button"]:has-text("Upgrade"),
       div[role="button"]:has-text("Purchase"),
       div[role="button"]:has-text("Activate") {
           display: none !important;
       }
       
       /* 或者通过位置/样式特征判断 */
       div[role="button"].primary-btn,  /* 通常是蓝色的"购买"按钮 */
       div[role="button"].accent-btn {
           /* 保留次要按钮,隐藏主要购买按钮 */
       }
    </style>
    

步骤2.激活软件

  1. 找到安装目录下的LicenseIndex.180dd4c7.4da8909c.chunk.js文件,一般存放路径为:

    :\Typora\resources\page-dist\static\js\LicenseIndex.180dd4c7.4da8909c.chunk.js
    
  2. ctrl+f定位到该文件中的 (e.hasActivated=“true”==e.hasActivated ),修改为:

    (e.hasActivated="true"),
    

    定位代码段

  3. 保存成功,再次打开typroa就会出现已激活弹窗,介于每次打开都会出现弹窗,影响体验

步骤3.修改弹窗样式并自动快速消失,优化体验

  1. 找到安装目录下的0.99879679.chunk.js文件,一般存放路径为:

    \Typora\resources\page-dist\static\js\0.99879679.chunk.js
    
  2. 文件打开后,首行位置添加如下代码
    添加代码块

    (function autoCloseTyporaActivation() {
      // 1. 创建遮罩层(防止弹窗闪烁)
      const overlay = document.createElement("div");
      overlay.id = "typora-auto-close-overlay";
      overlay.style.cssText = `
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgb(255, 255, 255);// 覆盖背景白色,更贴近typora背景色
            z-index: 2147483647;
            pointer-events: none;
        `;
      document.body.appendChild(overlay);
    
      // 2. 使用更短的延迟,快速检测并关闭
      let attempts = 0;
      const maxAttempts = 10;
      const interval = setInterval(() => {
        attempts++;
    
        try {
          // 尝试多种可能的按钮选择器(Typora 不同版本可能不同)
          const selectors = [
            ".default-btn.secondary-btn", // 旧版本
            ".btn-primary", // 主要按钮
            ".btn-secondary", // 次要按钮
            'button:contains("Continue")', // 继续按钮
            'button:contains("Later")', // 稍后按钮
            'button:contains("关闭")', // 中文关闭
            'button:contains("确定")', // 中文确定
            '[data-testid="close-btn"]', // 测试标识
            ".modal-close", // 通用关闭
            ".close", // 通用关闭
          ];
    
          let clicked = false;
    
          for (const selector of selectors) {
            try {
              const btn = document.querySelector(selector);
              if (btn && btn.offsetParent !== null) {
                // 确保按钮可见
                btn.click();
                clicked = true;
                console.log("Clicked:", selector);
                break;
              }
            } catch (e) {
              continue;
            }
          }
    
          // 3. 尝试关闭模态框背景(点击遮罩层)
          const modalBackdrop = document.querySelector(
            ".modal-backdrop, .overlay, .mask",
          );
          if (modalBackdrop) {
            modalBackdrop.click();
          }
    
          // 4. 成功或超时后清理
          if (clicked || attempts >= maxAttempts) {
            clearInterval(interval);
    
            // 移除遮罩层
            setTimeout(() => {
              const ov = document.getElementById("typora-auto-close-overlay");
              if (ov) ov.remove();
            }, 100);
          }
        } catch (err) {
          console.error("Attempt failed:", err);
          if (attempts >= maxAttempts) {
            clearInterval(interval);
          }
        }
      }, 50); // 每 50ms 检测一次,比单次 setTimeout 更可靠
    })();
    
  3. 保存成功后,再次打开typora即可

  4. 温馨提示:保存文件后首次打开可能出现下图所示错误提示弹窗,无需担心,关闭退出typroa后再次打开软件,提示消失
    可能出现的错误弹窗提示

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐