は、私はちょうどJavaScriptで引数として「一般」を得ました。
私はあなたがあなたの "一般"を持っていることをどのように知っていたのですか?message
をあなたのhtmlに出力しましたか? background
にファイルパスを設定したようですが、UWPアプリがサンドボックスで動作するため、ファイルパスがUWPアプリで合法であるかどうかという問題があります。古典的なデスクトップアプリで使用できるいくつかのパスは使用できませんUWP。
UWPアプリとWP8.1アプリの両方であなたのposetedコードに問題ベースを再現することができません。私はちょうど要素の背景にイメージを設定すると仮定しました。ここではサンプルです:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>WebViewInvoke</title>
<link href="css/default.css" rel="stylesheet" />
<script type="text/javascript">
function handleMessage(message) {
var element = document.getElementById("textbody");
element.style.background = message;
}
</script>
</head>
<body id="textbody" style="color:black; background:url('Assets/1.jpeg')">
<div>Content goes here!</div>
<script src="js/main.js"></script>
</body>
</html>
これは私のhtmlファイルであり、あなたは、私は、このHTMLファイル内の機能handleMessage
を呼び出す見ることができるようにあなたがJSファイルには、この機能を入れた場合、それは同じです。 InvokeScriptAsync
メソッドを呼び出すときに
だから、私たちは以下のように、画像のパスを取得するためにUri
を使用することができます。
string[] specs = { "url('Assets/2.jpeg')" };
await webView.InvokeScriptAsync("handleMessage", specs);
基本的にはここでの主なアイデアは、あなたのpath
を置き換えるためにUri
を使用しようとすることができるということです、そして私の画像プロジェクトのAssets
フォルダに保存されます。ここに質問がある場合は、コードを更新してコメントを残してください。
あなたはevalを呼び出すことができます。何かのように: 'InvokeScriptAsync(" eval "、new [] {" handleMessage( 'background =/path;') "};' –
私は今デスクトップ上のパラメータとして "一般的な"文字列を取得します – ger18s