- サーバーサイドなし
- サードパーティはありません
あなたがすでに提供したものに「行き詰まっている」ように聞こえます。あなたのスクリプトは実際に私に興味をそそられました。一見すると、サーバーとクライアント(javaとjavascript)+すべてのコメントがそれを指しているように見えたからです。しかし、好奇心は良いことです:)
どうやら、実際には信頼できるわけではありませんが、サポートするブラウザでJavaメソッドを呼び出すことができます。Javaはクライアント側でもあります(失われた概念)。
私はこれをコピーして貼り付けます、私は試したことがありません(私はあなたと同じように制限されたことがないため):
if (java && java.net)
ip = ''+java.net.InetAddress.getLocalHost().getHostAddress();
else ip = 'unknown';
About.comからの抜粋-少なくとも動作する機会を与えるために何をする必要があるかについても説明しています(アップロード、ローカルからは実行できません)。
アップデート:
忘れてください。@Esailijaが指摘しているように、私は(そもそも)Javaの男ではありませんが、上記のスクリプトは(もはや)機能しません。
2.1.5非推奨の機能:グローバルパッケージ、javaおよびnetscapeキーワード
Mozillaファミリのブラウザは、Javaアプレットを含まないWebページでも、JavaScriptからJava言語へのアクセスをサポートしてきました。このブラウザファミリには、JavaScriptコードで使用できるグローバルjava、netscape、Packagesキーワードがあり、静的メソッドの呼び出し、静的フィールドへのアクセス、および上記のアプレットごとのPackagesキーワードと同様の方法でJavaクラスの新しいインスタンスを作成できます。
これらのキーワードのセマンティクスは、Webページで複数のアプレットが使用可能な場合に問題になります。特定のアプレットのユーザー定義クラス(たとえば、com.mycompanyパッケージ内)にアクセスする場合、グローバルパッケージキーワードはどのアプレットを参照するかをどのように認識しますか?新しいJavaプラグインは、アプレットを実行するために複数のJava仮想マシンインスタンスをWebブラウザに接続することもサポートしています。この状況では、これらのグローバルキーワードのセマンティクスはさらに複雑になります。
このため、グローバルjava、netscape、PackagesJavaScriptキーワードは非推奨になりました。これらはFirefoxブラウザーで引き続き機能しますが、これらを使用して既存のコードを移行し、新しいアプレットごとのパッケージキーワードを使用することを強くお勧めします。これらのグローバルキーワードを使用してユーザー定義クラスにアクセスすることはできません。そうしようとすると、未定義の結果が生成されます。
ここで参照