1

サイトの html ファイル内に vbscript を書きましたが、動作しません。私はそれが Internet Explorer でのみ機能することを知っています。これは、この問題について人々が書いている一般的な答えです。基本的な vbscript を動作させることはできますが、filesystemobjects を使用してテキスト ファイルを開こうとしても何も起こりません。使用されているコードは以下です。

<Script type="text/vbscript">

Dim fsobj, objtxt, thearr

Set fsobj = CreateObject("Scripting.FileSystemObject")
Set objtxt = fsobj.OpenTextFile("./subfolder/foo.txt", 1)

thearr = split(objtxt.readline, ",")    
document.write(thearr(0) & " and " & thearr(1))

</script>

asp拡張子で保存するとコードが動作しますが、htmlとして保存すると動作しません.html拡張子のみを使用して動作させる方法はありますか? そうでない場合、誰かが asp 拡張子のないスクリプト filesystemobject が機能しない理由について説明していますか? 探している答えが見つからないようです。

4

3 に答える 3

2

スクリプトをクライアントスクリプトとして実行すると、サーバーではなくクライアントコンピューターからファイルにアクセスしようとします。ファイルは存在しません。存在したとしても、スクリプトはそのファイルにアクセスできません。

于 2012-06-21T09:47:46.803 に答える
2

ASPページからFileSystemObjectを使用していたときは、サーバーのファイルシステムを操作していました。これは許可されています。

ただし、上記のコードを使用すると、クライアントでコードを実行することになります。Internet Explorerの内部からクライアントのファイルシステムにアクセスすることは許可されていません。これは、セキュリティに深刻な影響を与えるためです。専門用語は「サンドボックス」です。

クライアントマシン上のファイルシステムと対話する必要がある場合は、ActiveXなどのテクノロジを使用する必要があります。

于 2012-06-21T09:48:06.370 に答える
1

ファイルの名前を .hta サフィックスに変更して、HTML アプリケーションの使用を検討する必要があります。

HTA は、インターネット ブラウザーのセキュリティ モデルの制約を受けずに実行されます。実際、「完全に信頼できる」アプリケーションとして実行されます。

インターネット ブラウザー内で実行されている HTML ファイルは、コードがインターネットから取得されているため、"信頼されていない" と見なされます。ブラウザーは、HTML ページがコンピューターにアクセスできないようにする厳格なセキュリティ モデルを適用するため、一般に "信頼されていない" と見なされます。 FileSystemObject がテキスト ファイルを開くことができない理由。ただし、HTA はブラウザーではなく、スクリプトに完全な信頼を与える Microsoft の MSHTA アプリケーションを介して実行されます。

詳細については、HTML アプリケーション - ウィキペディアを参照してください。

于 2012-06-22T11:57:41.827 に答える