【问题标题】:Chrome Packaged App - using multiple HTML filesChrome 打包应用程序 - 使用多个 HTML 文件
【发布时间】:2014-01-06 12:55:56
【问题描述】:

Chrome 打包应用程序可以包含多个 HTML 文件吗?

我在 Chrome 中开发了一个打包的应用程序,但我发现所有 HTML 都需要放在一个文件中(在 DIV 中),我会根据要求显示/隐藏 DIV。

我尝试使用多个 HTML 文件,但无法从另一个文件调用一个文件。

有没有办法在Chrome Packaged APP中使用多个HTML文件?

【问题讨论】:

  • “从另一个文件调用一个文件”到底是什么意思?
  • @ExpertSystem:“从另一个文件调用一个文件”只是指在单击当前活动文件(例如 1.html)中的锚标记时调用文件(例如 2.html)。
  • 这是否意味着打开一个新窗口加载文件?这是否意味着在当前窗口中替换当前页面?您是否尝试过使用 iframe ?顺便说一句,你没有告诉我们你尝试了什么以及它是如何失败的。

标签: html google-chrome google-chrome-extension google-chrome-app


【解决方案1】:

您至少有两个选择:

  • 打开一个新窗口 (chrome.app.window.create) 并将其指向新内容;

  • 使用 XMLHttpRequest 获取新内容并替换当前文档的 innerHTML:

document.documentElement.innerHTML="测试"

我总是选择第一个选项。如果您不再需要以前的内容,只需关闭旧窗口即可。

【讨论】:

  • 从问题来看,我的印象是文件是本地的,所以 XMLHttpRequest 不起作用。请参阅下面的答案。
  • 是什么让您认为 XMLHttpRequest 不适用于本地内容?这不应该是一个问题(只是在这里测试以确保)。如果您遇到问题,请告诉我。
  • 你能告诉我你是如何关闭窗口的吗@mangini 我试过window.close() 但它不起作用
  • chrome.app.window.create返回的appWindow对象有一个close()方法。使用它而不是 window.close()。
【解决方案2】:

在您的一个 JavaScript 文件中,添加代码以将对象元素(HTML5 中的新元素)添加到引用您想要包含的 HTML 文件的 DOM。 (没试过,不过应该可以。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    相关资源
    最近更新 更多