首页 > 解决方案 > 如何在非 IE 浏览器(Chrome、Firefox、Edge)中的 Oracle APEX #orclapex 中获取 PC 名称(带/不带域)

问题描述

我想获取客户端 PC 的计算机名/主机名。

我的 javascript 代码是这样的,它在 IE 中工作

function GetComputerName() {
  try {
    var network = new ActiveXObject('WScript.Network');
    alert(network.computerName);
  }
  catch (e) { }
}

我也知道这在 Chrome、Firefox、Edge、Safari 等中不起作用。还尝试从 PL/SQL 函数调用 Java 存储过程,如下所示

import java.net.*;
public class Test {
  public static String getHost () {
    try {
      String hostname = InetAddress.getLocalHost().getCanonicalHostName();
      return hostname;
    }
    catch (Exception e) {
      return "Could not find Hostname! Error!";
    }
  }
}

但是这里的输出是 127.0.0.1。另外,我正在 Oracle 数据库上执行这段 Java 代码,所以我想代码将返回服务器的主机名。

思考:是否可以从 chrome(或任何其他现代浏览器)会话中调用 IE 对象,并为此调用 ActiveXObject 对象?我用谷歌搜索但没有发现这样的实现。

我也对替代实现持开放态度(只要可以在非 IE 浏览器中获取计算机名称)

标签: javascriptsqloracleoracle-apexoracle-apex-5.1

解决方案


推荐阅读