我需要从GWT前端发送消息到chrome扩展。为此,我在GWT中使用JSNI并调用以下方法:
static native void sendMessageToChromeExtension() /*-{
chrome.runtime.sendMessage(...);
}-*/;
然而,这不起作用,我得到了:
Cannot read property 'sendMessage' of undefined
还有其他办法吗?
答案 0 :(得分:1)
网页通常通常调用chrome API(inline install除外)。
要实现您的目标,您需要遵循here概述的程序。 假设你的前端生活在http://example.com/,那么你需要在扩展的清单中声明你期望来自这个域的消息:
"externally_connectable": {
"matches": ["*://*.example.com/*"]
}
只有这样chrome.runtime.sendMessage
才会显示在网页上。请注意,您还需要提供扩展程序的ID。
答案 1 :(得分:1)
我发现了一个问题,我需要从 $和(窗口)对象调用
static native void sendMessageToChromeExtension() /*-{
$wnd.chrome.runtime.sendMessage(...);
}-*/;