一段时间以来,我一直在使用 Crossrider 的强大 API,但是我的进度已经遇到了很大的障碍。
我已经能够通过选项卡更改中断和 url 中断的更改向当前域的弹出范围发送消息。但是,当我单击弹出浏览器按钮时,应该显示有关当前选项卡 URL 的数据。相反,这样的数据是黑色的,并且在调试时 - 发现它为空白的原因是:
- 当前 URL 被设置为弹出扩展内部 URL
- 弹出逻辑的某种错误
我真的很难过,需要这样的功能才能进一步发展。我的 Crossrider ID 是 52909。
谢谢!
一段时间以来,我一直在使用 Crossrider 的强大 API,但是我的进度已经遇到了很大的障碍。
我已经能够通过选项卡更改中断和 url 中断的更改向当前域的弹出范围发送消息。但是,当我单击弹出浏览器按钮时,应该显示有关当前选项卡 URL 的数据。相反,这样的数据是黑色的,并且在调试时 - 发现它为空白的原因是:
我真的很难过,需要这样的功能才能进一步发展。我的 Crossrider ID 是 52909。
谢谢!
首先,在向此论坛发布问题时,请包含代码片段以使他人受益,以便他们可以尝试为您提供帮助。他们无法访问您提供的扩展代码。
查看您的 popup.html 代码,我可以看到您正在使用弹出范围内不支持的以下 Crossrider API 方法:appAPI.resources.includeJS、appAPI.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 的员工]