안녕하세요.
제가 하고 싶은 것은 C#(WPF)에서 Markdown을 Html으로 변환하여 스크립트 호출을 통해 웹(CefSharp.WPF)으로 보내는(Send) 것입니다.
기본적으로는 잘 동작하지만 보내는 값이 여러 행일 때 문제가 발생합니다.
한 행으로 된 문자열은 정상 동작합니다.
// 정상 동작합니다~!
var frame = web.GetMainFrame();
frame.ExecuteJavascriptAsync("test('hello')");
하지만, 호출을 통해 보내는 값이 여러 행일 때 스크립트가 동작하지 않습니다.
// ㅠㅠ Script 동작 안함,,
string markdown = GetHtml(rawMarkdownString);
var frame = web.GetMainFrame();
frame.ExecuteJavascriptAsync($"test('{markdown}')");
일단 제가 테스트 해본 결과 test 함수의 파라메터 값이 여러 행(Multiline)일 때 문제가 발생합니다.
C#에서 스크립트 호출 시 여러 행으로 된 string 값을 보내는 방법이 있을까요?
그리고 아래는 테스트 HTML 로드 부분입니다.
string head = "<head><script>{0}</script></head>";
string body = "<div id="content"></div>";
string html = "<html><head><script>{0}</script></head><body>{1}</body></html>";
head = string.Format(head, "function test(data) { document.getElementById('content').inner.HTML = data; }");
html = string.Format(html, head, body);
web.LoadHtml(html);
읽어주셔서 감사합니다.