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

Chrome扩展无法调用网页__doPostBack()函数问题求助

解决Chrome扩展中调用页面__doPostBack函数报错的问题

问题原因

Chrome扩展的内容脚本运行在与页面独立的隔离执行上下文中,无法直接访问页面全局作用域里的变量或函数(比如ASP.NET生成的__doPostBack)。而DevTools控制台直接在页面的执行上下文中运行,所以能正常调用该函数。

解决方案

通过动态向页面DOM注入脚本的方式,让代码在页面的执行上下文中运行,从而调用__doPostBack。修改你的test.js代码如下:

function clickLink() {
  // 创建script元素并写入要执行的代码
  const injectScript = document.createElement('script');
  injectScript.textContent = `__doPostBack('ctl00$Main$AssetSearchPanel$DialogContainers$GridContainers$ctl02$BtnName','')`;
  // 插入到页面head中执行
  document.head.appendChild(injectScript);
  // 执行完成后移除脚本(可选,清理DOM)
  injectScript.remove();
}

clickLink();

说明

这种方式不违反Chrome扩展的内容安全策略(CSP),因为脚本是注入到目标页面的上下文中执行,而非在扩展自身的页面中运行内联脚本。你的manifest.json配置无需修改,保持现有设置即可。

内容的提问来源于stack exchange,提问作者Felipe Obregón

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:57:01