【问题标题】:WinJs creating files on the fly in installedLocationWinJs 在 installedLocation 中动态创建文件
【发布时间】:2015-11-03 11:47:24
【问题描述】:

我正在开发 WinJs 应用程序,我想在我的应用程序安装位置创建几个文件,以便在本地导航到它们。当我尝试创建新文件时,我收到拒绝访问异常:

“WinRTError:访问被拒绝”

这是我用于创建文件的代码:

var folder = Windows.ApplicationModel.Package.current.installedLocation;
folder.createFileAsync("index.html", Windows.Storage.CreationCollisionOption.replaceExisting)

有没有办法允许此功能,或者它只是出于安全原因而被阻止而您对此无能为力?

  • 在本地文件夹中创建这些文件会导致另一个我想防止的问题 - 这就是我尝试在安装位置创建它们的原因。

谢谢

【问题讨论】:

    标签: javascript permissions navigation local winjs


    【解决方案1】:

    你不能这样做!这个文件夹是只读的。

    但是......(如果你必须这样做)

    你可以在localFolder中写东西

    Windows.ApplicationModel.Package.current.LocalFolder
    

    并编写大量代码来读取您创建的这些文件,以便在您的应用中动态加载它们

    【讨论】:

    • 但是我写了我不能使用本地文件夹:)
    • 是的,我明白了,这就是我写“你必须写很多代码”的原因;)因为你不能做经典的 WinJS 导航。您必须将您的文件作为模板加载并在内存中使用它。
    • 你看,我的问题是我想从 WinJs 应用程序导航到一些 html 文件,该文件是动态下载的。我没有找到一种方法来从 WinJs (Windwos 8.1) 应用程序作为 x-ms-wbview、iframe 或 location.href 使用在我的本地文件夹中执行导航到 html 页面。
    • 遗憾的是,这根本不可能。为此,您必须编写所有管道代码以将“新”html 文件加载为 WinJS 模板并在运行时将它们注入您的应用程序中。
    • 你给我一个关于如何实现 WinJs 模板的提示吗?我猜,你的意思是 WinJS.Binding.Template,我怎样才能用我的“新”html 设置它的内容
    猜你喜欢
    • 1970-01-01
    • 2016-04-17
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2012-12-29
    • 2013-06-19
    相关资源
    最近更新 更多