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

启用Chrome扩展后Razorpay支付完成页面空白问题解决求助

解决方案

1. 修复manifest.json的语法错误

你提供的content_scripts配置末尾多了一个多余的],这会导致Chrome无法正确解析exclude_matches规则,从而让内容脚本仍然注入到Razorpay页面。正确的配置应该是:

"content_scripts": [
  {
    "matches": ["<all_urls>"],
    "exclude_matches": ["*://*.razorpay.com/*"],
    "js": ["content.js"]
  }
]

确保整个manifest.json的结构正确,没有多余的符号。

2. 排查扩展的后台脚本/服务工作者是否干扰请求

如果你的扩展使用了chrome.webRequest或chrome.declarativeNetRequest API拦截、修改网络请求,这些逻辑可能会作用于Razorpay的API请求,导致认证页面加载失败。需要在后台脚本中添加判断,跳过对Razorpay域名的处理:

// 示例:webRequest拦截中排除Razorpay
chrome.webRequest.onBeforeRequest.addListener(
  (details) => {
    if (details.url.includes('razorpay.com')) {
      return { cancel: false }; // 不处理该请求
    }
    // 你的其他拦截逻辑
  },
  { urls: ["<all_urls>"] },
  ["blocking"]
);

3. 检查web_accessible_resources的冲突

如果你的扩展声明了web_accessible_resources,这些资源可能会被Razorpay的页面意外加载,导致页面异常。需要在配置中排除Razorpay域名:

// Manifest V3 示例
"web_accessible_resources": [
  {
    "resources": ["your-resource.js", "your-style.css"],
    "matches": ["<all_urls>"],
    "exclude_matches": ["*://*.razorpay.com/*"]
  }
]

4. 验证内容脚本是否确实未注入

打开空白的Razorpay认证页面,按F12进入开发者工具:

  • 切换到Sources标签页
  • 在左侧面板展开Content scripts,查看是否有你的扩展的脚本
    如果存在,说明排除规则仍未生效,需要检查是否有多个content_scripts条目未配置exclude_matches,或者include_globs等规则覆盖了exclude_matches。

5. 排查扩展的其他权限

如果扩展申请了<all_urls>的主机权限,某些API(比如chrome.scripting.executeScript)可能会动态向Razorpay页面注入脚本。需要在动态注入的逻辑中添加域名判断,避免注入到Razorpay相关页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:53:11