私は、Webブラウザコントロールに依存してその情報を表示するカスタムソフトウェア用の「IDE」を開発してきました。このソフトウェアは外部ファイル "common.vbs"を使用して、そのWebページ内の共通機能にアクセスします。アプリケーション内のさまざまなWebページ全体ふりかけhtmlタグである:Vb.Net(ビジュアルベーシック)、Webブラウザコントロール。外部ファイルをページで利用できるようにする
私はリソース文字列にコードをインポートした後、次のコードを試してみた私のアプリケーションでは<script LANGUAGE="VBScript" src="common.vbs"></script>
:コードは「doesnの
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)
sPath = Path.Combine(sPath, "common.vbs")
Try
Dim fs As FileStream = File.Create(sPath)
Dim sData As String = My.Resources.common
Dim Info As Byte() = New UTF8Encoding(True).GetBytes(My.Resources.common)
fs.Write(Info, 0, Info.Length)
fs.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
tエラー。私が(同じ機能を使って)ファイルを読んでテストすると、その内容が返されます。私は、ファイルが書き込まれている知っているが、ページのいずれかが上記のHTMLタグを読み込むとき、私はページからエラーを取得:
An error has occurred in the script on this page
Line: 0
Char: 0
Error: Script error
Code: 0
URL: about:common.vbs
私は「含める」しようとしているファイルのみ機能が含まれています以下のようになります。
Function DoHelp
window.external.DoHelp "", "", -1, -1
End Function
Function SQLDate(d)
SQLDate = "'" & DatePart("yyyy", d) & "-" & DatePart("m", d) & "-" & DatePart("d", d) & "'"
End Function
Function MonitorJob(jobId)
on error resume next
window.external.UIControl.MonitorJob jobId, 0
End Function
アプリケーション内では、ファイル内に含まれる関数のロードと使用に問題はありません。ファイルの実際の内容はアプリケーションからのものであり、どのマナーでも編集されていません。単純なテストページを含む、ファイルにエラーが含まれているアプリケーションでロードするページ。
Webブラウザーコントロールがスクリプトのscrタグ内から実際のページがロードされ、ホスティングアプリケーションから供給されていないというファイルを認識させる方法はありますか?ソースアプリケーション内のすべてのページを編集することは本当にオプションではありません。動的に作成され、多数存在する可能性があります。
ここにはできるだけ多くの情報を含めるようにしましたが、詳細が必要な場合はお気軽にお問い合わせください。
おかげで、フレッド
EDIT/UPDATE:私はウェブをロードし、その後、同じフォルダに呼び出すHTMLファイルを作成し、一時フォルダに「含める」する必要があるファイルのすべてを書いてみました ファイルストリームを使用した制御。結果は同じです。
EDIT/UPDATE 私は間違っている必要があります。すべての "リソースファイル"をtempフォルダに書き込んだ後、結果のHTMLページを同じファイルに書き出し、最後にNavigateメソッドをそのtempフォルダとファイルに呼び出すと、画像とその下にあるVBSファイルが正しく読み込まれます。
最後に編集/更新 正しく動作するすべての部品を取得するまでにはしばらく時間がかかりました。以下はその問題を解決した答えです。