CSSスタイルのXMLドキュメントをレンダリングするためにC#アプリケーションでWebKitを使用していますが、DOM要素を追加できます。これを行うにはどうすればDOMにアクセスできますか?この問題は、WebKitBrowserクラスにprivate WebViewメンバーへのアクセス権を与えるプロパティが存在しないように思われる。出来ますか?これを追加するにはクラスを変更する必要がありますか?私はちょうどそれが間違っていますか?WebKit.NETを使用してDOMにアクセスするにはどうすればよいですか?
3
A
答えて
0
WebKit.Netは0.3.0のように、コード化されたコードにアクセスできないようです。 少し違ったことをしましたが、私はWebKit.Netを使いましたが、HTTPリスナーをアプリケーションに追加し、そこからページを取得するようにコントロールを設定しました。このようにして、同じアプリ内の投稿とコールバックにアクセスできます。残りの部分は、JavaScriptでそれを自分のページに表示します。
HttpListener listener;
public Form1() {
InitializeComponent();
listener = new System.Net.HttpListener();
listener.Prefixes.Add("http://*:88/");
listener.Start();
IAsyncResult result = listener.BeginGetContext(new AsyncCallback( ListenerCallback), listener);
}
public static void ListenerCallback(IAsyncResult result) {
string resp = "<body>test</body";
HttpListener listener = (HttpListener)result.AsyncState;
// Call EndGetContext to complete the asynchronous operation.
try {
HttpListenerContext context = listener.EndGetContext(result);
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string webpage = request.Url.AbsolutePath.Substring(1);
string responseString = null;
if (string.IsNullOrEmpty(webpage)) {
responseString = resp;
}
else {
webpage = webpage.Replace(".", "_");
responseString = webkit_test.Properties.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, true, false).GetObject(webpage) as string;
if (responseString == null) {
responseString = "<html></html><body> 404 Web Page not Found</body>";
}
}
byte[ ] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentType = "text/html; charset=UTF-8";
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Flush();
// You must close the output stream.
output.Close();
IAsyncResult result1 = listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
}
catch { }
}
Btw。このコードは、埋め込まれたリソースからウェブページも読み込みます
関連する問題
- 1. Dojoを使用してDOMノードにスタイリングを追加するにはどうすればよいですか?
- 2. DOMを使用してCSVファイルを正しく解析するにはどうすればよいですか?
- 3. Mootoolsを使用してDOMから要素を選択するにはどうすればよいですか?
- 4. PHPを使用してDOMを操作するにはどうすればよいですか?
- 5. PHPを使用して特定のDOMノードを取得するにはどうすればよいですか?
- 6. カールを使用してjsonツリーの深いレベルにアクセスするにはどうすればよいですか?
- 7. AS3を使用してムービークリップから別のムービークリップにアクセスするにはどうすればよいですか?
- 8. JSR 177でAPDUを使用してSIMカードにアクセスするにはどうすればよいですか?
- 9. FormsAuthenticationを使用してURLに匿名アクセスを許可するにはどうすればよいですか?
- 10. jQueryを使用してLIのIDにアクセスするにはどうすればよいですか?
- 11. MavenのJava APIを使用してMaven Artifact POMにアクセスするにはどうすればよいですか?
- 12. QTipを使用してトリガー要素にアクセスするにはどうすればよいですか?
- 13. DB Visualizerを使用してAndroid SDK DBにアクセスするにはどうすればよいですか?
- 14. getList()メソッドを使用してarrayListの要素にアクセスするにはどうすればよいですか?
- 15. JMXを使用してリモートJVMのスレッドにアクセスするにはどうすればよいですか?
- 16. vbを使用してExcelシートのデータにアクセスするにはどうすればよいですか?
- 17. Schemeを使用してファイルのビット表現にアクセスするにはどうすればよいですか?
- 18. chrome:// URLを使用して.xulファイルにアクセスするにはどうすればよいですか?
- 19. RubyOnRailsを使用してInterbase(.IB)データベースにアクセスするにはどうすればよいですか?
- 20. VB.NETを使用してResourcesフォルダ内のテキストファイルにアクセスするにはどうすればよいですか?
- 21. Windowsのローカルパスを使用してSubversionリポジトリにアクセスするにはどうすればよいですか?
- 22. Facebookオープングラフを使用してタイムラインのカバー写真にアクセスするにはどうすればよいですか?
- 23. Reflection(Mirrors)を使用してDartクラスのメソッド名にアクセスするにはどうすればよいですか?
- 24. boost :: property_treeを使用してJSON配列にアクセスするにはどうすればよいですか?
- 25. ActionScriptを使用してリモートオブジェクトにアクセスするにはどうすればよいですか?
- 26. SOAP :: Liteを使用してSourceGear Webサービスにアクセスするにはどうすればよいですか?
- 27. Fluent NHibernateを使用してビューにアクセスするにはどうすればよいですか?
- 28. SharpSVNを使用してSVNプリコミットメッセージにアクセスするにはどうすればよいですか?
- 29. ファイルプロトコルを使用してローカルシステムのディレクトリにアクセスするにはどうすればよいですか?
- 30. リフレクトを使用して抽象親クラスのインスタンスフィールドにアクセスするにはどうすればよいですか?