【问题标题】:Can I control a Chrome Extension externally from C or C++?我可以从 C 或 C++ 外部控制 Chrome 扩展程序吗?
【发布时间】:2014-04-07 03:50:49
【问题描述】:

是否可以使用 C/C++ 脚本从外部控制 Chrome 扩展程序?因此,例如,当我的 C 脚本收到一个

如果

触发器,它将命令发送到打开的 Chrome 扩展程序;例如单击页面的某个部分。这必须使用 C 来完成,因为我的程序在完成后将大量基于 C。

提前非常感谢!

【问题讨论】:

标签: c++ c google-chrome google-chrome-extension


【解决方案1】:

我想到的快速解决方案:

chrome 扩展可以读取它自己目录中的文件。

所以我建议在 background.js 中创建一个函数,它会定期(根据您的需要调整粒度),使用 chrome.extension.getURL、XMLHttpRequest 和“GET”命令读取扩展目录中的一些文件。

然后执行文件中说明的命令。

从您的 C/C++/Bash 控制程序中,您可以发送命令。

这是一个函数的例子:

function read_control_file() {
    var url = chrome.extension.getURL("control_cmd.txt");
    var request = new XMLHttpRequest();
    // false so that request is processed immediately and we need not pass callback                                                
    request.open("GET", url, false);
    request.send();

    return request.responseText;
}

【讨论】:

  • 感谢 Methos!但是“control_cmd.txt”可以同时编辑(通过C程序)和读取(通过Chrome)吗?
  • 我不知道您使用的是哪种平台,但您也许可以使用文件锁来允许独占访问。现在在 chrome 扩展中,您无法访问文件锁。但是你可以使用像 Flask 这样的微框架来创建一个简单的本地服务器,它会负责锁定文件并处理来自扩展的 GET 请求。
  • 好的,谢谢,你能给我提供一个 Flask 的代码示例吗?
  • 其实很简单。在此处查看示例:flask.pocoo.org/docs/quickstart/#a-minimal-application 您所要做的就是填充该函数以锁定文件,然后读取文件并返回结果。
  • 哈哈,没问题。或者,除非您绝对需要使用扩展,否则建议使用类似 selenium 的框架。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
相关资源
最近更新 更多