小编Mih*_*ita的帖子

在Chrome包应用中评估

我想创建一个包app chrome扩展,以允许用户编写和执行javascript代码(如javascript控制台).

我想使用该eval()函数来执行JS代码.

eval从chrome扩展调用时,经典的javascript 函数会抛出错误:

未捕获的错误:对于此上下文不允许从字符串生成代码

eval在chrome扩展程序中使用,人们需要使用沙箱,但是当我在清单中编写沙箱时,我收到此错误:

尝试安装此扩展时出现警告:指定的包类型(主题,应用程序等)不允许使用"sandbox".

UPDATE

根据这个问题,包应用程序不支持沙箱,所以我有两个问题:

  1. 还有其他方法可以代替eval()吗?

  2. eval没有沙盒可以使用吗?(我想可能不是出于安全考虑?)

javascript google-chrome eval google-chrome-extension google-chrome-app

26
推荐指数
2
解决办法
1万
查看次数

调试新的Chrome打包应用

我正在使用Chrome 24中的新式打包应用程序,我没有看到任何方法来启动Developer Tools来进行调试.

建议的调试策略是什么?

google-chrome-extension google-chrome-app

17
推荐指数
3
解决办法
9531
查看次数

插件中的Google Chrome"onLaunched"错误

我正在关注http://developer.chrome.com/trunk/apps/first_app.html上的Google Chrome网络应用开发,并且网络应用未启动.当我点击页面上的应用程序图标时,它会关闭标签页.我已经从github下载了示例应用程序和插件,但是当我看到控制台时它们也没有工作我得到了这个错误,请不要在chrome:// flags中启用实验API.

Uncaught TypeError: Cannot read property 'onLaunched' of undefined 
Run Code Online (Sandbox Code Playgroud)

我已将Chrome浏览器更新为22.0.1229.79版.我的manifest.json文件是

{
"name": "Hello World!",
"description": "My first packaged app.",
"manifest_version": 2,

"version": "0.1",
"app": {
    "background": {
        "scripts": ["background.js"]
    }
},
"icons": {
    "16": "calculator-16.png", 
    "128": "calculator-128.png"
}
Run Code Online (Sandbox Code Playgroud)

}

还有我的background.js文件

   chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('window.html', {
        'width': 400,
        'height': 500
    });
});
Run Code Online (Sandbox Code Playgroud)

有人能指出我哪里出错了吗?

google-chrome google-chrome-extension google-chrome-app

6
推荐指数
2
解决办法
2753
查看次数

通过 API 在 GitHub 存储库中查找最旧的提交

确定 GitHub 存储库中的初始提交何时进行的最有效方法是什么?存储库有一个created_at属性,但对于包含导入历史的存储库,最旧的提交可能要早得多。

当使用命令行时,这样的事情会起作用:

git rev-list --max-parents=0 HEAD

但是我在 GitHub API 中没有看到等效项。

github github-api

6
推荐指数
2
解决办法
3712
查看次数

套接字API:在打包的应用程序中不允许?

我正在尝试使用新的Socket API for Chrome扩展,我遇到了一个令人困惑的错误.我的示例应用程序的清单如下所示:

{
  "name":"Yet Another Socket App",
  "version":"0.0.1",
  "manifest_version":2,
  "permissions":[
    "experimental", "socket"
  ],
  "app":{
    "launch":{
        "local_path":"index.html"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序正在加载(即没有错误警报),但在其条目下方会显示警告chrome://extensions:'socket' is not allowed for specified package type (theme, app, etc.).

注意: index.html存在并且是一个简单的HTML文档(chrome.socket确实undefined在其中).我通过启用了实验API chrome://flags.我v22.0.1229.6 dev在Ubuntu上运行Chrome()的Dev频道.

这是套接字支持的瞬间打嗝(毕竟这是Dev通道),还是我以某种方式错误地设置了我的应用程序?另外,我不得不卸载Chrome Stable来安装Dev; 是否有可能apt-get purge google-chrome-stable并且rm -rf ~/.config/google-chrome不足以清除稳定通道的每一块?

google-chrome google-chrome-extension google-chrome-app

5
推荐指数
1
解决办法
4109
查看次数

在 String.raw 模板文字中包含文字反引号

我正在开发一个生成 JavaScript 的系统,我想最大限度地减少需要为字符串文字完成的转义量。我目前的方法是使用String.raw模板文字函数,这样我就不必担心\在输出中被解释的字符。

唯一的问题是文字反引号(即`字符)仍然需要转义,否则它们会提前终止字符串。它们不能被转义,\`因为转义序列不受尊重。

我能想到的最佳选择是使用占位符(例如String.raw`foo${"`"}bar`get "foo`bar"),但我有点担心占位符评估的运行时成本。还有其他选择吗?

javascript rawstring template-strings

5
推荐指数
0
解决办法
182
查看次数

Chrome打包应用程序和Facebook重定向网址

我有一个Chrome打包应用程序,我目前正在与Facebook API集成.Facebook Javascript SDK要求我提供托管我的应用程序的位置的URL,出于安全原因,他们只会重定向到此URL.

问题是Chrome打包应用程序没有网址.我知道chrome.extension.getURL,但是这个url不是静态的,它会根据安装进行更改.有没有办法为适用于所有安装的Chrome应用程序设置URL?

google-chrome-extension facebook-graph-api google-chrome-app

4
推荐指数
1
解决办法
826
查看次数

在Chrome打包应用v2中如何检查窗口是否最大化?

我使用新的谷歌Chrome打包应用程序v2创建了一个无框窗口

我创建了最小化,最大化和关闭按钮,并将它们锁定到适当的JavaScript函数并让它们工作.

我不知道是谁检查窗口是否已经在JavaScript中最大化,任何想法?

下面的例子展示了如何最小化窗口,花了一些时间来理解它并实现它,它的工作原理. https://github.com/GoogleChrome/chrome-app-samples/blob/master/frameless-window/style.css

最大化按钮必须恢复窗口,如果最大化,如果你双击窗口标题栏它最大化但我没有得到任何事件.

javascript google-chrome-extension google-chrome-app

3
推荐指数
1
解决办法
405
查看次数