user-interface - 使用浏览器获取桌面 UI

标签 user-interface browser desktop-application

如何将浏览器用作桌面应用程序的 UI?到目前为止我想出的方法是......

  • 使用所有 HTML/Javascript。问题:无法访问文件系统或其他任何东西。
  • 在使用应用程序时运行本地网络服务器。问题:当用户完成后我如何杀死它?我的用户对 Ctrl+C 的技术不够。
  • 在常规 GUI 中嵌入浏览器组件。问题:嵌入式浏览器组件充其量往往会出现故障。对 Javascript/CSS 的支持从来没有真正的浏览器那么好。
  • ...?

  • 理想的解决方案适用于任何技术。我知道有编写 Firefox 扩展等选项,但我希望在后端技术和浏览器独立性方面拥有完全的自由。

    最佳答案

    请注意,如果您选择运行本地网络服务器,则会产生安全风险。

    任何在同一台机器上运行并且知道您的应用程序的网页都可以使用 Javascript 向您的服务器发送请求,并且您没有简单可靠的方法来了解请求的来源。 (不要相信 referer header )

    使用类似方法的 Google 桌面存在多个实际漏洞,允许任何网页读取磁盘上的任何文件。

    有几种方法可以防止这种情况;我建议要求每个请求都有一个身份验证 key ,该 key 是每台机器随机生成的(并在某些时候过期),您可以将其放入实际页面的源代码中。 XHR 保护将阻止恶意网站读取身份验证 key ,从而使其无能为力。

    关于user-interface - 使用浏览器获取桌面 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643260/

    相关文章:

    javascript - 为桌面和移动设备打包 HTML5 应用程序?

    javascript - 如何隐藏 Jquery UI 对话框上的按钮

    Android UI 控件套件?

    java - 在 Swing 中更改实体外观

    css - 以小浏览器分辨率垂直居中 Flash 网站

    linux - 如何创建自己的 menuconfig GUI?

    java - 将 JTextField 添加到 JToolBar

    iphone - 在我单击 iPad Safari 浏览器中的选择元素(多选表单)之前,选项不会显示

    java - 没有更多句柄 [无法检测到要使用的已注册 XULRunner]

    c# - C# 桌面应用程序的非常基本和简单的 db 文件