Javascript 如何使用NativeMessaging连接到本机应用程序(.exe),但不要';t启动.exe,只需在后台发送消息

Javascript 如何使用NativeMessaging连接到本机应用程序(.exe),但不要';t启动.exe,只需在后台发送消息,javascript,google-chrome,google-chrome-extension,chrome-native-messaging,nativeapplication,Javascript,Google Chrome,Google Chrome Extension,Chrome Native Messaging,Nativeapplication,通常,当我点击“发送”按钮(禁用NativeMessaging方法)时,它将启动一个新实例,我只想让它只有一个实例正确运行connect,这样我就可以发送消息了。 非常感谢 这是我的background.js代码: 这是我的content.js代码: 这是我的测试HTML文件代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Test Comm

通常,当我点击“发送”按钮(禁用NativeMessaging方法)时,它将启动一个新实例,我只想让它只有一个实例正确运行connect,这样我就可以发送消息了。 非常感谢

这是我的background.js代码:

这是我的content.js代码:

这是我的测试HTML文件代码:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Test Communicate with native app</title>
    <script>
        function startApp() {
        var evt = document.createEvent("CustomEvent");  
        evt.initCustomEvent('myCustomEvent', true, false, "im information");  
        // fire the event  
        document.dispatchEvent(evt);  
        console.log("The button was clicked!");
        }  
    </script>
</head>

<body>
    <button type="button" onclick="startApp()" id="startApp">startApp</button>
</body>

</html>

测试与本机应用程序的通信
函数startApp(){
var evt=document.createEvent(“CustomEvent”);
evt.initCustomEvent('myCustomEvent',true,false,“im信息”);
//解雇事件
文件。调度事件(evt);
log(“按钮被点击了!”);
}  
startApp

我用C#语言编写了演示本机应用程序。

你试过吗?是的,我试过
runtime.connectNative
runtime.sendNativeMessage
方法,它们都不起作用。我从未试过,但我认为可能应该由本机应用程序来完成,例如,本机应用程序应将状态保存在存储中,并在启动新实例后恢复该状态,或者这会有帮助吗?是的,谢谢。我会再试一次。你试过吗?是的,我试过
运行时.connectNative
运行时.sendNativeMessage
方法,它们都不起作用。我从未试过,但我认为可能应该由本机应用程序来完成,例如,本机应用程序应将状态保存在存储中,并在启动新实例后恢复该状态,或者这会有帮助吗?是的,谢谢。我再试试。
var launch_message;
document.addEventListener('myCustomEvent', function (evt) {
console.log("visited!");
chrome.runtime.sendMessage({ type: "launch", message: evt.detail }, function (response) {
    console.log(response);
    // console.log("visited here!");
});
}, false);
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Test Communicate with native app</title>
    <script>
        function startApp() {
        var evt = document.createEvent("CustomEvent");  
        evt.initCustomEvent('myCustomEvent', true, false, "im information");  
        // fire the event  
        document.dispatchEvent(evt);  
        console.log("The button was clicked!");
        }  
    </script>
</head>

<body>
    <button type="button" onclick="startApp()" id="startApp">startApp</button>
</body>

</html>