首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我写了JSNI来检测java版本,但是在最新的浏览器版本,如chrome,IE,Firefox中它不能工作(不能得到java版本

JSNI(JavaScript Native Interface)是GWT(Google Web Toolkit)中的一种技术,用于在JavaScript代码中调用Java代码。它允许开发人员通过使用特殊的语法来直接访问Java对象和方法。

然而,在最新的浏览器版本(如Chrome、IE、Firefox)中,由于安全性和性能方面的考虑,浏览器厂商逐渐限制了对Java插件的支持。因此,使用JSNI来检测Java版本的方法在这些浏览器中可能无法工作。

为了解决这个问题,可以考虑使用其他技术来检测Java版本。以下是一种可能的解决方案:

  1. 使用navigator对象:可以通过检查浏览器的navigator对象来获取有关Java插件的信息。具体而言,可以使用navigator.javaEnabled()方法来检测浏览器是否启用了Java插件。

示例代码如下:

代码语言:txt
复制
if (navigator.javaEnabled()) {
  // Java插件已启用
  // 执行相应的操作
} else {
  // Java插件未启用
  // 执行其他操作或给出提示
}
  1. 使用Java applet:可以创建一个简单的Java applet,并在JavaScript中调用该applet来获取Java版本信息。这种方法需要在HTML页面中嵌入Java applet,并使用JavaScript与其进行通信。

示例代码如下:

代码语言:txt
复制
import java.applet.Applet;
import java.awt.Graphics;

public class JavaVersionApplet extends Applet {
  public void paint(Graphics g) {
    String javaVersion = System.getProperty("java.version");
    g.drawString("Java Version: " + javaVersion, 10, 10);
  }
}
代码语言:txt
复制
<applet code="JavaVersionApplet.class" width="200" height="200"></applet>

<script>
  var applet = document.getElementsByTagName('applet')[0];
  var javaVersion = applet.getJavaVersion();
  // 执行相应的操作
</script>

需要注意的是,由于Java applet在现代浏览器中的支持也在逐渐减弱,因此这种方法可能不适用于所有浏览器和操作系统。

综上所述,为了在最新的浏览器版本中检测Java版本,可以尝试使用navigator对象或Java applet来获取相关信息。然而,由于浏览器对Java插件的限制,无法保证在所有情况下都能正常工作。在实际应用中,建议根据具体需求和浏览器支持情况选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券