如何用chrome扩展模拟调试控制台的功能

ttisahbt  于 2023-05-11  发布在  Go
关注(0)|答案(1)|浏览(163)

我正在尝试为Desmos开发一个chrome扩展。我的扩展需要一种方法来更新左边的方程单元格。一种手动操作的方法是打开chrome devtools控制台,并使用预定义的变量Calc(尝试Calc.setExpression({"id": "0", "latex": "x = y"}))进行交互。理想情况下,我希望有一些类似的功能,我可以在我的Chrome扩展程序中使用,但我还没有找到这样做的方法。我试着浏览api,但它只有在你自己的网站中嵌入Desmos图时才有用。我该怎么做?

xn1cxnb4

xn1cxnb41#

这是一个样本。
manifest.json

{
  "manifest_version": 3,
  "name": "hoge",
  "version": "1.0",
  "action": {
    "default_popup": "popup.html"
  },
  "permissions": [
    "scripting"
  ],
  "host_permissions": [
    "<all_urls>"
  ]
}

popup.html

<html>
<body>
  <script src="popup.js"></script>
</body>
</html>

popup.js

hoge = () => {
  Calc.setExpression({ "id": "0", "latex": "x = y" })
}

chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
  chrome.scripting.executeScript(
    {
      target: { tabId: tabs[0].id },
      world: "MAIN",
      func: hoge
    }
  );
});

相关问题