3

当我点击它所说的应用程序内的任何本地 url 时,我收到一个红色错误。

Can't open same-window link to "chrome-extension://nmajpganl/options.html"; try target="_blank". index.html:1

有没有办法在本地链接权限?还是我必须重写所有内容才能在一页上?

我认为这与 Chrome Manifest Sandbox .. 需要包含您将链接到的所有页面有关?谁能证实这一点?

4

4 回答 4

3

打包的应用程序不是网站。应用程序和网站之间的主要区别是没有导航。你有几个选择:

  1. 以与主窗口相同的方式为您的选项创建一个窗口。

  2. 正如您所说,重写应用程序以操作主窗口的 DOM,而不是“用新位置的 DOM 替换 DOM”(一种说导航的奇特方式)。

  3. 使用 <webview>。这不太可能是您想要的(假设选项意味着类似首选项页面)。但你可以做到。

  4. 正如错误消息所说,使用 target=_blank 并找出一种方法让普通的 Chrome 选项卡打开它(例如,将其托管在网站上)。对于您的应用程序,这种方法将是疯狂的。

于 2013-04-18T02:35:17.593 回答
1

正确的答案在这里,但它似乎已被驳回,所以让我扩展它。iframe 不允许访问其他网站,但您可以使用一个包装器来包装所有本地内容。像这样的东西:

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, user-scalable=no, maximum-scale=1, minimum-scale=1" />
    <style>
html, body, iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  border: none;
  overflow: hidden;
}
    </style>
  </head>
  <body><iframe src="index.html"></iframe></body>
</html>

可能不需要这些元标记,但我在任何地方都使用它们。

这似乎解决了多 html 页面本地应用程序中的导航问题。

于 2013-09-25T14:37:12.197 回答
0

新的 Chrome 打包应用程序不支持导航。您可以创建新窗口或替换正文中的内容或使用应用程序的 webview 标签。

于 2013-04-22T12:41:03.663 回答
0

你可以<iframe>在你的main.html.

于 2013-04-23T17:27:17.267 回答