解決策 1: Windows シェルを呼び出しますが、セキュリティの問題が発生します。
*browseFolder.js
* このファイルは、BrowseFolder() 関数を定義します。ユーザーがシステム フォルダーを選択する機能を実装するためのフォルダー選択ダイアログ ボックス
*
* フォルダー選択ダイアログ ボックスの開始ディレクトリは、
* Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath) によって決定されます。 ) 関数
*
* の strPath パラメーター設定 例: 0x11--Mycomputer
* 0 --デスクトップ
* "c:\"--システム C ドライブ
*
* この関数を HTML ファイルに適用するには、次のコードを使用します。
*
* または、次のコードを
* セキュリティの問題により、この JS コードを正しく実行するには次の設定も必要であることに注意してください。
* そうしないと、「権限がない」という問題が発生します。
*
* 1. 信頼できるサイトを設定します (たとえば、ローカルのサイトは http://localhost になります)。
* 2. 次に: 信頼されたサイトのセキュリティ レベルのカスタム設定で、次のオプションを設定します。
* 「安全とマークされていない ActiveX コントロールを初期化してスクリプト実行します」----「有効にする」
browserFolder.js:
/**//***
path 値を表示するオブジェクト ID
****/
function raiseFolder(path) {
try {
var Message = "u8bf7u9009u62e9u6587u4ef6u5939" //選択ボックスのプロンプト メッセージ
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //開始ディレクトリは次のとおりです。
//var Folder = Shell.BrowseForFolder(0,Message,0);開始ディレクトリは :Desktop
if (Folder != null) {
Folder = Folder.items(); // FolderItems オブジェクトを返します
Folder = Folder.item(); // Folderitem オブジェクトを返します>Folder = Folder.Path; // パスを返します
if (Folder.charAt(Folder.length - 1) != "\") {
Folder = Folder "\">}
document.getElementById (path).value = Folder;
return Folder;
}
catch (e) {
alert(e.message); }
使用時:
コードをコピー