1

我正在使用 C# 和 XAML 开发 Windows 商店应用程序,在我的 web 视图中我正在加载本地 HTML 文件,之后我尝试使用 JavaScript 对 HTML 进行水平滚动。

在此之前,我试图将 HTML 高度调整为 Windows 高度。对我来说没什么大不了的,

我的代码:

    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 });
    }

JavaScript 代码:

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

我不认为这是一个更好的解决方案,但我想知道这一点,如果有人对此有任何建议,这很有用。谢谢。

4

1 回答 1

0

我有这个工作,我正在做两件不同的事情:

首先,在 HTML 中包含 javascript,可能在 head 标记中:

<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 });
于 2014-04-18T22:22:59.447 回答