【问题标题】:Invoke Javascript in webview store app在 webview 商店应用程序中调用 Javascript
【发布时间】: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


【解决方案1】:

我已经完成了这项工作,并且我正在做两件不同的事情:

首先,在 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 });

【讨论】:

  • 现在...我没有在开发这个应用程序,但我仍然没有修复那个应用程序。我会尝试你的建议并让你知道。谢谢...
猜你喜欢
  • 2013-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2011-01-06
  • 1970-01-01
相关资源
最近更新 更多