Cordova插件是否有可能在apache webserver上运行?

时间:2018-03-15 08:16:14

标签: javascript cordova-plugins bssid

我正在尝试获取连接到网站的Android手机的BSSID。我找到了一些关于使用javascript获取BSSID的信息,答案是除非我制作本机代码或插件,否则它是不可能的。

我知道这有点奇怪,但Cordova插件PhoneGap-WifiInfoPlugin似乎是一个解决方案,因为它是由javascript组成的。所以我构建并检查了apk文件的结构,assets/www/文件夹中的所有文件似乎都在使用apache。

所以我将所有文件和文件夹(index.htmlcordova.jscordova-js.src ...)放在Apache/htdocs文件夹中,并通过chrome连接到index.html Android模拟器上的浏览器。但插件不起作用,wifi.lan总是返回空对象{}。另一方面,Cordova webview应用程序运行良好,并在模拟器上显示bssid。所以插件没有错误。

我注意到nativeApiProvider中的cordova.js为空,require('cordova/android/nativeapiprovider')无效。 我尝试在<script src="XXXX">中通过html标记index.html加载所有javascripts并完成加载JavaScript。但它没有再起作用。

有没有办法在网络服务器上使用cordova插件,或者我必须找到另一种方式?

以下是access.log历史记录的日志:

127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /index.html HTTP/1.1" 200 3225
127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /js/jquery-1.12.3.js HTTP/1.1" 200 293650
127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /cordova.js HTTP/1.1" 200 73303
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /js/index.js HTTP/1.1" 200 1664
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /cordova_plugins.js HTTP/1.1" 200 465
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /js/ni.js HTTP/1.1" 200 79
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /plugins/org.apache.cordova.wifiinfo/www/cordovaWifiInfo.js HTTP/1.1" 200 1390
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /cordova-js-src/exec.js HTTP/1.1" 200 11143
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/platform.js HTTP/1.1" 200 4924
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/android/nativeapiprovider.js HTTP/1.1" 200 1322
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/android/promptbasednativeapi.js HTTP/1.1" 200 1441
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/plugin/android/app.js HTTP/1.1" 200 4005

1 个答案:

答案 0 :(得分:0)

  

似乎是一个解决方案,因为它由javascript

组成

This is Java。 Java和JavaScript是完全不同的编程语言。

即使它是用JavaScript编写的,它也可能会调用由Cordova提供的API,而不是Web浏览器提供的。