我正在开发一个使用Web worker的项目.
在我的脑子部分,我有这个代码:
var worker = new Worker("worker.js");
// More code
Run Code Online (Sandbox Code Playgroud)
这在Safari中运行良好,但Chrome报告以下错误:
Uncaught SecurityError: Failed to create a worker: script at '(path)/worker.js' cannot be accessed from origin 'null'.
为什么这在Safari中完美运行而不是Chrome?我该如何解决?
谢谢.
我为Google Chrome创建了一个扩展程序,想知道我的扩展程序是否可以在隐身模式下启用.
例如: chrome.extension ...... allowedIncognitoAccess = true
google-chrome google-chrome-extension incognito-mode google-chrome-app
我正在开发一个将文件保存到下载文件夹的Chrome扩展程序(这不是它正在做的全部,但这是我遇到的问题).现在我专注于PDF文件.基本上,当在Chrome中打开PDF时,用户可以使用Menu -> Save File As... 手动保存它,我只是尝试使用扩展程序自动执行此功能,但我还没有找到一个好方法.
假设我可以检测当前标签中是否包含PDF文件(基于此问题的答案).
到目前为止,我发现的最好的事情是发起下载:
chrome.downloads.download({
url: tabs[0].url, saveAs: false,
filename: "my file", /* This will be some unique autogenerated identifier */
conflictAction: "overwrite"
});
Run Code Online (Sandbox Code Playgroud)
这有效,但有两个缺点:
有没有更好的方法来保存文件?
之前有人将这篇文章标记为另一篇文章的副本,例如:SecurityError:阻止了一个原始框架来访问跨文本框架这篇文章是不同的,因为它是关于在Chrome网络扩展的上下文中避免此错误,这意味着可能有独特的解决方案.
我正在向Firefox移植Firefox Quantum扩展程序.扩展将iFrame注入用户的当前网页.现在,扩展程序在Firefox Quantum中没有问题,你可以在这里找到它:https://addons.mozilla.org/en-US/firefox/addon/tl-dr-auto-summarizer/?src = search
iFrame的源代码是一个名为"inject.html"的HTML文件,它绑定在扩展名中.
这是注入iFrame的缩短(以避免使帖子过长)的代码.此代码位于用户当前选项卡的内容脚本中:
var iFrame = document.createElement("iFrame");
iFrame.id = "contentFrame";
iFrame.classList.add("cleanslate");
iFrame.style.cssText = "width: 100% !important; height: 100% !important; border: none !important;";
iFrame.src = browser.extension.getURL("inject-content/inject.html");
document.body.appendChild(iFrame);
Run Code Online (Sandbox Code Playgroud)
这是manifest.json
{
"manifest_version": 2,
"name": "TL;DR - Summarizer",
"version": "3.0",
"description": "Summarizes webpages",
"permissions": [
"activeTab",
"tabs",
"*://*.smmry.com/*"
],
"icons":
{
"48": "icons/border-48.png"
},
"browser_action":
{
"browser_style": true,
"default_popup": "popup/choose_length_page.html",
"default_icon":
{
"16": "icons/summarizer-icon-16.png",
"32": "icons/summarizer-icon-32.png"
}
},
"web_accessible_resources": [
"inject-content/inject.html",
"inject-content/cleanslate.css" …Run Code Online (Sandbox Code Playgroud) javascript iframe same-origin-policy google-chrome-extension
我知道文件系统api暴露给本机客户端,但它似乎不允许访问沙盒外部.有一个api,可以通过提示窗口访问沙箱外面.
如果我的理解是正确的,它就不能允许访问目录.我最近遇到了chrome dev,它允许您在任何目录中创建工作区,并允许在目录级别进行剪切,复制和粘贴操作.我想知道他们如何获得沙箱外的文件和目录的访问权限.
我所指的扩展名是:https: //github.com/dart-lang/chromedeveditor