前提・実現したいこと
Process.Start(URL)メソッドでローカルHTMLを表示することを試しています。
HTMLに開く際に、get請求のよう、urlの後ろにパラメータをつけたい。
HTML内部でパラメータを取得して、次の処理を行うため。
発生している問題・エラーメッセージ
HTMLを開くと、パラメータを取得できません。
該当のソースコード
C#のソース string strUrl = @"D:\Test\test.html#key=123"; string url = @"file://" + strUrl; System.Diagnostics.Process.Start(url);
HTMLのソース <!DOCTYPE html> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script> function getParam() { var param = {}; var pairs = location.hash.slice(1).split('&'); var pair; var i; var I = pairs.length; for (i = 0; i < I; ++i) { pair = pairs[i].split('='); param[pair[0]] = pair[1]; } return param; } function oninit() { var key = getParam()["key"]; alert(key); //パラメータを取得して、alertします } </script> </head> <body onLoad="oninit();"> <div style="text-align:left;"> <input type="hidden" id="key" name="key" value=""></div> </body> </html>
試したこと
結果として、keyの値が取得できません。
開いたHTMLのアドレスを見ると、URL後ろの[key]が付いていません。
このよう「file://D:\Test\test.html」
想定は「file://D:\Test\test.html#key=123」
補足情報(FW/ツールのバージョンなど)
下記の資料を参照しています。
https://q.hatena.ne.jp/1291340820
ローカルHTMLをProcess.Start()で開く時、パラメータをつける方法があればご教授お願いいたします。
みなさま、どうぞよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/25 14:44