JS ACIVEX は Web ページ選択のローカル ディレクトリ パス ダイアログ ボックスを実装します_javascript スキル
Web ページはローカル ディレクトリ パス ダイアログ ボックスを選択し、ACTIVEX オブジェクトを使用してローカル ディスクとディレクトリを移動します。Web ページ上で関連する ACIVEX INTERNET オプションを有効にするだけで済みます。ローカルに対して高度なセキュリティは必要ありません。シンプルで使いやすいブラウザです。
Web ページのローカル ディレクトリ パスの選択ダイアログ ボックスの例
1. メインページ「select.html」を開き、「パスの選択」ボタンをクリックしてパス選択ページ「dir.html」に入り、ローカルディレクトリのパスを選択します
2. パス選択ページ「dir.html」が初期化されたら、ローカル ディスク ドライブをロードし、選択したディスク パスに従ってそのディレクトリをロードします。ディレクトリ内にサブディレクトリがある場合は、ディレクトリ リスト項目をダブルクリックして、次のエピソード ディレクトリに入ります。
3. [OK] をクリックして選択パス ページ "dir.html" を閉じ、選択したパスの値をメイン ページの "select.html" テキスト ボックスに戻します
/**//*
* 初期化、システム内のすべてのドライブを table_drives リストに入れます
*/
window.onload = 新しい関数 init()
{
var fso, s, n, e, x;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = 新しい列挙子(fso.Drives);
s = "";
for (; !e.atEnd(); e.moveNext())
{
x = e.item();
s = s x.DriveLetter;
s = ":";
if (x.DriveType == 3)
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = "[驱动器未就绪]";
s = n ",";
}
var drives = s.split(",");
var tableDrives = document.getElementById("tables_drives");
for ( var i = 0; i
var option = document.createElement("OPTION");
drives[i].split(":");
option.value = "[" drives[i].split(":")[0] ":]" drives[i].split(":")[1];
option.text = "[" drives[i].split(":")[0] ":]" drives[i].split(":")[1];
tableDrives.add(オプション);
}
get_drives();
}
/**//*
*tables_drives リストで選択されたドライブ上のすべてのフォルダーが table_folder リストに配置されます
*/
function get_drives()
{
var tableDrives = document.getElementById("tables_drives");
var tableFolders = document.getElementById("table_folder");
for ( var i = 0; i < tableDrives.options.length; i )
{
if ( tableDrives.options[i].selected == true )
{
var fso、f、fc、s;
var drive = tableDrives.options[i].value.split(":")[0].substring(1,tableDrives.options[i].value.split(":")[0].length) ;
document.getElementById("backDir").value = ドライブ ":\";
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.DriveExists(ドライブ))
{
d = fso.GetDrive(ドライブ);
if ( d.IsReady )
{
f = fso.GetFolder(d.RootFolder);
fc = new Enumerator(f.SubFolders);
s = "";
for (;!fc.atEnd(); fc.moveNext())
{
s = fc.item();
s = ",";
}
var len = tableFolders.options.length;
while(len >= 0)
{
tableFolders.options.remove(len);
レン--;
}
var オプション = document.createElement("OPTION");
option.value = ドライブ ":\";
option.text = ドライブ ":\";
tableFolders.add(オプション);
var フォルダー = s.split(",");
for ( j = 0; j
option = document.createElement("OPTION");
option.value = フォルダー[j];
option.text = フォルダー[j];
tableFolders.add(オプション);
}
}
else
{
alert("無法改变当前の内容!")
}
}
else
return false;
}
}
}
function get_fileName()
{
var tableFolders = document.getElementById("table_folder");
for ( var i = 0; i < tableFolders.options.length; i )
{
if ( tableFolders.options[i].selected == true )
{
varフォルダーパス = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length);
if (folderpath.charAt(folderpath.length-1) == "\" )
{
document.getElementById("backDir").value = フォルダーパス;
}
else
{
document.getElementById("backDir").value = フォルダーパス "\";
}
}
}
}
/**//*
*table_folder双击选项内の 1 つの選択、就将このファイルの下にあるファイルが table_folder 列表に表示されます中。
*/
function get_file()
{
var tableFolders = document.getElementById("table_folder");
var tableDrives = document.getElementById("tables_drives");
for ( var i = 0; i < tableFolders.options.length; i )
{
if ( tableFolders.options[i].selected == true )
{
var fso, f, fc, s;
var folderpath = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length);
if ( folderpath.charAt(folderpath.length-1) == "\" )
{
document.getElementById("backDir").value = folderpath;
}
else
{
document.getElementById("backDir").value = folderpath "\";
}
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderpath);
fc = new Enumerator(f.SubFolders);
s = "";
for (;!fc.atEnd(); fc.moveNext())
{
s = fc.item();
s = ",";
}
var len = tableFolders.options.length;
while(len >= 0)
{
tableFolders.options.remove(len);
len--;
}
var opt = "";
var opt1 = "";
for ( j = 0; j < folderpath.split("\").length; j )
{
var option = document.createElement("OPTION");
opt = opt folderpath.split("\")[j] "\";
if ( j > 0)
{
opt1 = opt;
option.value = opt1.substring(0,opt1.length-1);
option.text = opt1.substring(0,opt1.length-1);
tableFolders.add(option);
}
else
{
option.value = opt;
option.text = opt;
tableFolders.add(option);
}
}
if ( tableFolders.options[0].value == tableFolders.options[1].value )
{
tableFolders.options.remove(1);
}
if ( s != "" )
{
var folders = s.split(",");
for ( j = 0; j < folders.length -1; j )
{
option = document.createElement("OPTION");
option.value = folders[j];
option.text = folders[j];
tableFolders.add(option);
}
}
}
}
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull
