首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome打包的应用程序通过沙盒清单2的本地根html链接

Chrome打包的应用程序通过沙盒清单2的本地根html链接
EN

Stack Overflow用户
提问于 2013-04-17 09:09:38
回答 4查看 2.7K关注 0票数 3

当我点击应用程序中的任何本地url时,我都会得到一个红色的错误信息。

代码语言:javascript
复制
Can't open same-window link to "chrome-extension://nmajpganl/options.html"; try target="_blank". index.html:1

有没有带权限的本地链接的方法?或者我必须重写所有内容才能在一页上?

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-18 10:35:18

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

  1. 为你的选项创建一个窗口,就像你在主窗口中做的一样。
  2. 正如你所说的,重写应用程序来操作主窗口的DOM,而不是“用一个新位置的DOM替换DOM”(一种奇妙的方式叫做navigation).
  3. Use )。这不太可能是您想要的(假设选项意味着类似于首选项页面)。但你可以这么做。
  4. 正如错误消息所说,使用target=_blank并想出一种方法,让普通的Chrome标签页打开它(例如,将其托管在网站上)。对于您的应用程序,这种方法将是疯狂的。
票数 3
EN

Stack Overflow用户

发布于 2013-09-25 22:37:12

正确的答案在这里,但它似乎已经被忽略了,所以让我来扩展一下。iframe不允许访问其他站点,但您可以使用一个包装器来包装所有本地内容。如下所示:

代码语言:javascript
复制
<!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页面的本地应用程序中的导航问题。

票数 1
EN

Stack Overflow用户

发布于 2013-04-22 20:41:04

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16049763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档