我想创建一个包app chrome扩展,以允许用户编写和执行javascript代码(如javascript控制台).
我想使用该eval()函数来执行JS代码.
eval从chrome扩展调用时,经典的javascript 函数会抛出错误:
未捕获的错误:对于此上下文不允许从字符串生成代码
要eval在chrome扩展程序中使用,人们需要使用沙箱,但是当我在清单中编写沙箱时,我收到此错误:
尝试安装此扩展时出现警告:指定的包类型(主题,应用程序等)不允许使用"sandbox".
UPDATE
根据这个问题,包应用程序不支持沙箱,所以我有两个问题:
还有其他方法可以代替eval()吗?
eval没有沙盒可以使用吗?(我想可能不是出于安全考虑?)
javascript google-chrome eval google-chrome-extension google-chrome-app
我正在使用Chrome 24中的新式打包应用程序,我没有看到任何方法来启动Developer Tools来进行调试.
建议的调试策略是什么?
我正在关注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)
有人能指出我哪里出错了吗?
确定 GitHub 存储库中的初始提交何时进行的最有效方法是什么?存储库有一个created_at属性,但对于包含导入历史的存储库,最旧的提交可能要早得多。
当使用命令行时,这样的事情会起作用:
git rev-list --max-parents=0 HEAD
但是我在 GitHub 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不足以清除稳定通道的每一块?
我正在开发一个生成 JavaScript 的系统,我想最大限度地减少需要为字符串文字完成的转义量。我目前的方法是使用String.raw模板文字函数,这样我就不必担心\在输出中被解释的字符。
唯一的问题是文字反引号(即`字符)仍然需要转义,否则它们会提前终止字符串。它们不能被转义,\`因为转义序列不受尊重。
我能想到的最佳选择是使用占位符(例如String.raw`foo${"`"}bar`get "foo`bar"),但我有点担心占位符评估的运行时成本。还有其他选择吗?
我有一个Chrome打包应用程序,我目前正在与Facebook API集成.Facebook Javascript SDK要求我提供托管我的应用程序的位置的URL,出于安全原因,他们只会重定向到此URL.
问题是Chrome打包应用程序没有网址.我知道chrome.extension.getURL,但是这个url不是静态的,它会根据安装进行更改.有没有办法为适用于所有安装的Chrome应用程序设置URL?
google-chrome-extension facebook-graph-api google-chrome-app
我使用新的谷歌Chrome打包应用程序v2创建了一个无框窗口
我创建了最小化,最大化和关闭按钮,并将它们锁定到适当的JavaScript函数并让它们工作.
我不知道是谁检查窗口是否已经在JavaScript中最大化,任何想法?
下面的例子展示了如何最小化窗口,花了一些时间来理解它并实现它,它的工作原理. https://github.com/GoogleChrome/chrome-app-samples/blob/master/frameless-window/style.css
最大化按钮必须恢复窗口,如果最大化,如果你双击窗口标题栏它最大化但我没有得到任何事件.