【问题标题】:calling javascript code in C# Windows Phone 7.5 app在 C# Windows Phone 7.5 应用程序中调用 javascript 代码
【发布时间】:2014-03-12 22:20:59
【问题描述】:

我想在 Windows phone 7.5 应用程序中单击 appbar 中的按钮后,在 C# 中运行一些 JavaScript 代码以清除本地存储。我通过 Stack Overflow 和论坛遇到了各种代码,但特定代码在 Windows 手机应用程序中不起作用。您能帮我提供适用于 Windows Phone 7.5 应用程序的代码吗?

【问题讨论】:

  • 你为什么要尝试使用 JavaScript 呢? C# 有多种方法可以访问本地存储(并清除它),IMO 也应该运行得更快。
  • @Master117 嘿,我正在使用 JavaScript 中的 window.localStorage.setItem 保存一些数据。只能通过 JavaScript 清除相同的内容。所以,需要。
  • 你试过localStorage.clear(); ?
  • @Master117 我可以使用 window.localStorage.removeItem 清除 JavaSript 中的本地存储。但是我需要在后面的代码中调用这个 JavaScript 代码。这就是问题所在。
  • 啊,我的错,没想到这会是问题,你不能在事件中调用它或使用委托吗?

标签: c# javascript windows-phone-7.1


【解决方案1】:

你只需清除

Cookie 和 Web 浏览器缓存

YourWebBrowserControl.ClearCookiesAsync();

YourWebBrowserControl.ClearInternetCacheAsync();

【讨论】:

    【解决方案2】:

    在 WebBrowser 控件上将 IsScriptEnabled 设置为 true。

    在加载页面的 JavaScript 中创建一个函数来清除存储。 (例如称它为“ClearStorage”)

    来自调用 this.webBrowser1.InvokeScript("ClearStorage"); 的代码。 (适当调整 WebBrowser 控件的名称。)

    【讨论】:

    • 试过了。但是收到“发生未知错误。错误:80020006。”
    • "80020006" 是一个通用错误,表示 javascript 存在问题。通常是方法中的错误或未找到方法。你能分享一个显示这个问题的代码的最小复制吗?您还应该确保您没有使用包含该方法的文件的缓存版本。
    【解决方案3】:

    加载网页后,当引发 LoadCompleted 事件时,调用 InvokeScript。如果您之前这样做,应用程序会抛出异常,错误代码为 80020006。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      相关资源
      最近更新 更多