2013-08-27 3 views
1

C# & XAML을 사용하는 Windows 스토어 응용 프로그램에서 작업 중입니다. 내 webview에서 로컬 HTML 파일 인 을로드하고 난 후 JavaScript를 수평 스크롤링에 사용하려고합니다.webview store app에서 자바 스크립트 호출

이전에는 HTML 높이를 Windows 높이에 맞추려고합니다. 그것은 나를 위해 happing 아무것도

내 코드 :

protected async override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("split.html"); 
     string Filecontent = await FileIO.ReadTextAsync(file); 
     webView.NavigateToString(Filecontent); 
    } 
    private async void webView_LoadCompleted(object sender, NavigationEventArgs e) 
    { 
     StorageFolder folder = Package.Current.InstalledLocation; 
     StorageFile file = await folder.GetFileAsync("JavaScript.js"); 
     string js = await FileIO.ReadTextAsync(file); 
     webVIew.InvokeScript("eval", new[] { js }); 
    } 

자바 스크립트 코드 :

var h = window.innerHeight, w = window.innerWidth; window.resizeBy(w, h); 

나는 그것이 더 나은 솔루션이다, 그러나 나는 이것에 대해 궁금 그렇게 생각하지 않습니다, 그것은을 어떤 사람이 이에 대한 제안을하면 유용합니다. 감사합니다. .

+1

매우 잘못된 것 같습니다. (tm). 이와 같은 개발 패러다임을 섞지 마십시오. 장래의 동료가 당신을 싫어할 것입니다. XAML을 사용하거나 HTML을 사용하십시오. 둘 다 아닙니다. – mattmanser

+0

@mattmanser 무언가를 명확히하고 싶습니다. – Kumar

+0

@mattmanser APP 디자인을 위해 XAML을 사용하고 있습니다. C#을 사용하여 JavaScript 가로형 탐색을 수행해야합니다. HTML 파일은 내 프로젝트의 일부입니다. 우려 사항이 있으면 저에게 문의하십시오. – Kumar

답변

0

나는이 작업을 가지고 내가 다른 두 가지 일을하고 있어요 :

첫째, HTML 안에 자바 스크립트를 포함, 아마도 헤드 태그 내에 :

<script type="text/javascript" src="JavaScript.js"/> 

둘째, '돈 "eval"이라고 부를 필요가 없습니다. 다음과 같은 경우 여러 매개 변수를 포함하여 JavaScript 함수를 직접 호출 할 수 있습니다.

string result = webview->InvokeScript("myScriptName", new string[]{ parameterString }); 
string result = webview->InvokeScript("scriptTwo", new string[]{ param1, param2 }); 
+0

지금 당장은 ...이 앱을 쓰지 않고있다.하지만 아직 그 앱을 고치지 않았다. 나는 당신이 제안한 것을 시도하고 알려 드리겠습니다. 감사... – Kumar

관련 문제