我有Java应用程序(Applet有两个按钮Stop and Start),当我点击脚本中的开始按钮方法将被执行。但我在Chrome Extension下的纯JavaScript代码。当我点击开始按钮点击JavaScript中的事件方法将被执行。我的问题是方法调用正常但无法执行Chrome扩展程序代码(消息传递)。
这是我的Java应用程序代码。
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Object val = ((JavascriptExecutor) driver).executeScript("return set();");
System.out.println("read java script value :" + val);
JOptionPane.showMessageDialog(frame.getComponent(0), "Hi Welcome To Start message Passing");
System.out.println("Hi Welcome To Start message Passing");
}
});
我的Chrome扩展程序代码。
function set() {
chrome.runtime.sendMessage({
greeting: "start"
}, function (e) {
window.alert("window alert method ");
var backgroundPageConnection = chrome.runtime.connect({
name: "panel"
});
backgroundPageConnection.postMessage({
name: 'init',
tabId: chrome.devtools.inspectedWindow.tabId,
inspectedEvents: default_selected
});
});
}
答案 0 :(得分:-1)
重构您的java代码以通过引用传递。因为纯粹的javascript无法理解你的事件情况,因为消息传递。