【发布时间】:2013-08-27 10:28:56
【问题描述】:
我正在使用 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);
我不认为这是一个更好的解决方案,但我想知道这一点,如果有人对此有任何建议,它很有用。 谢谢。
【问题讨论】:
-
这听起来你做错了(tm)。不要像这样混合开发范式,你未来的同事会因此而讨厌你。使用 XAML 或使用 HTML。不是两者。
-
@mattmanser 我想澄清一些事情
-
@mattmanser 我使用 XAML 来设计 APP ,我必须使用 C# 无法实现的 JavaScript 水平导航。 HTML 文件是我项目中的一部分。如果有任何问题,请尝试问我。
-
脚本需要位于要调用的 HTML 中。并且可以调用脚本中的方法。将脚本附加到 HTML 中,然后尝试一下。
-
有什么问题?调用 JavaScript 或设置 HTML 文档高度?如果高度是问题,也许你有一个 CSS 问题。如果您已经知道 WebView 的高度,请尝试
<div style="height:500px">your content here</div>,但如果您不知道,请尝试将所有内容放在表格中<table height="100%"><tr><td>your content here</td></tr></table>。
标签: c# javascript html microsoft-metro windows-store-apps