0

一段时间以来,我一直在使用 Crossrider 的强大 API,但是我的进度已经遇到了很大的障碍。

我已经能够通过选项卡更改中断和 url 中断的更改向当前域的弹出范围发送消息。但是,当我单击弹出浏览器按钮时,应该显示有关当前选项卡 URL 的数据。相反,这样的数据是黑色的,并且在调试时 - 发现它为空白的原因是:

  • 当前 URL 被设置为弹出扩展内部 URL
  • 弹出逻辑的某种错误

我真的很难过,需要这样的功能才能进一步发展。我的 Crossrider ID 是 52909。

谢谢!

4

1 回答 1

1

首先,在向此论坛发布问题时,请包含代码片段以使他人受益,以便他们可以尝试为您提供帮助。他们无法访问您提供的扩展代码。

查看您的 popup.html 代码,我可以看到您正在使用弹出范围内不支持的以下 Crossrider API 方法:appAPI.resources.includeJSappAPI.webRequest.onRequest。有关弹出范围内支持的 API 的更多信息,请参阅appAPI.browserAction.setPopup

作为替代方案/解决方法:

  • 对于appAPI.resources.includeJS,可以使用jquery加载资源脚本,如下:$.globalEval(appAPI.resources.get('script.js'));

  • 对于 appAPI.webRequest.onRequest,在后台范围内实现它并使用消息传递将数据传递到弹出范围,例如:

背景.js

appAPI.ready(fucntion($) {
  appAPI.webRequest.onRequest.addListener(function(details, opaqueData) {
    appAPI.message.toPopup(details);
  }, []);
});

popup.html中的crossriderMain

function crossriderMain($) {
  appAPI.message.addListener(function(details) {
    // Do something with the details from webRequest
  });
}

[披露:我是 Crossrider 的员工]

于 2014-03-10T14:55:35.517 回答