Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Angular web应用程序广播事件并在IONIC应用程序中接收_Javascript_Angular_Ionic Framework_Observable_Inappbrowser - Fatal编程技术网

Javascript 从Angular web应用程序广播事件并在IONIC应用程序中接收

Javascript 从Angular web应用程序广播事件并在IONIC应用程序中接收,javascript,angular,ionic-framework,observable,inappbrowser,Javascript,Angular,Ionic Framework,Observable,Inappbrowser,我有一个IONIC应用程序,它使用InAppBrowser使用我的Angular web应用程序。我想从AngularWeb应用程序触发一个事件,并从IONIC应用程序打开摄像头。目前,我正在使用InAppBrowser打开我的Angular web应用程序。 有人能给我建议实现这一目标的最佳方法吗 我尝试了postMessage、Event、window.addEventListener,但没有成功 我需要将我当前的angular web应用程序集成到IONIC mobile应用程序中,并将C

我有一个IONIC应用程序,它使用InAppBrowser使用我的Angular web应用程序。我想从AngularWeb应用程序触发一个事件,并从IONIC应用程序打开摄像头。目前,我正在使用InAppBrowser打开我的Angular web应用程序。 有人能给我建议实现这一目标的最佳方法吗

我尝试了postMessage、Event、window.addEventListener,但没有成功


我需要将我当前的angular web应用程序集成到IONIC mobile应用程序中,并将Cordova插件与angular web应用程序一起使用。

您可以尝试实现PostCordova消息,该消息必须适用于使用Cordova创建的InApp浏览器窗口

在应用程序中添加消息侦听器:

const browser = this.inAppBrowser.create('https://.....');
browser.on('message').subscribe(event => {
     if (message.data.action === 'openCamera') {
          // open camera
     }
});
在您的网站中发送消息:

var message = {action: 'openCamera'};
if (webkit.messageHandlers.cordova_iab) { 
     webkit.messageHandlers.cordova_iab.postMessage(JSON.stringify(message));
}
如果您的网页只需要捕获用于网页功能的图像,则可以尝试对输入元素使用HTML5捕获属性:

<input type="file" accept="image/*" capture >