Chrome Beta 8 禁用 Google Chrome --allow-file-access-from-files

发布于 2024-10-05 00:57:10 字数 548 浏览 10 评论 0原文

我一直在使用 jQuery 和 Microsoft Seadragon 技术开发 AJAX 应用程序。
我需要访问 html5 canvas 函数 toDataURL。

对于 Google Chrome,同源规则适用于该函数,这意味着本地运行的页面(URL 中带有 file:///)无法满足同源规则并引发异常。

在 Chrome 7 中,使用 --allow-file-access-from-files 选项启动应用程序,允许从本地文件调用 canvas.toDataURL()

但是,似乎使用相同选项 (--allow-file-access-from-files) 启动 Chrome Beta 8 不允许调用 canvas.toDataURL() 在本地文件上。

Chrome 是否放弃了 --allow-file-access-from-files 选项,或者它刚刚被禁用,因为它是 Beta 版本而不是完整版本?

谢谢!

I have been developing an AJAX application using jQuery and Microsoft Seadragon technology.
I need to have access to the html5 canvas function toDataURL.

With Google Chrome, the same origin rule applies to this function which means that a page run locally (with the file:/// in the URL) failed to satisfy the same origin rule and an exception is thrown.

With Chrome 7, starting the application with --allow-file-access-from-files option, allows to call canvas.toDataURL() from local files.

However, it seems that starting the Chrome Beta 8 with the same option (--allow-file-access-from-files) does not allow the call canvas.toDataURL() on the local file.

Does Chrome gave up on the --allow-file-access-from-files option or it has just been disabled since it is a Beta release and not a full release?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

香草可樂 2024-10-12 00:57:10

查看此问题表明整个 --allow-file-access- from-files 事情很仓促。

  1. “Firefox 做到了……”
  2. “我们怎样才能做到呢?”
  3. 过了一段时间
  4. “这是补丁”
  5. “通过了!在主干上想知道下一个开发版本会发生什么”
  6. “啊它坏了”“使用命令行选项”“确定”
  7. “我们发货了!”
  8. “WTF,伙计们?你们把我的东西都弄坏了!你们为什么不早点告诉我们?”
  9. 沉默

解决你的问题
事实上,这似乎对测试版来说很特别,我在这里使用 Chrome 8.0.552.5 dev--allow-file-access-from-files 的工作原理如下正如预期的那样,我还使用 Chromium 9.0.592.0 (66889) 对此进行了测试,它是否也按预期工作。

我怀疑 dev 分支发生了一些变化。不幸的是,在 Chromium 的问题跟踪器上找到一些东西几乎是不可能的。

Looking at the issues for this shows that the whole --allow-file-access-from-files thing was rushed.

  1. "Firefox does it.."
  2. "How can we do it?"
  3. some time passes
  4. "Here are the patches"
  5. "Passes! On trunk wonder what happens in the next dev release"
  6. "Ahhh it's broken" "Use the command line option" "ok"
  7. "We shipped!"
  8. "WTF guys? You broke all my stuff! Why didn't you tell us earlier?"
  9. silence

On to your Problem
Indeed it seems that this is something special to the beta, I'm using Chrome 8.0.552.5 dev here and --allow-file-access-from-files works like expected, I've also tested this with Chromium 9.0.592.0 (66889) were it also works as expected.

I suspect there have been some changes on the dev branch. Unfortunately, finding something on chromium's issue tracker is nearly impossible.

幽梦紫曦~ 2024-10-12 00:57:10

在使用命令行参数打开之前,您是否关闭了所有 chrome 实例?您必须这样做才能使该参数起作用。

Did you close all chrome instances before opening with the command line argument? You have to do that to make that parameter work.

沫离伤花 2024-10-12 00:57:10

总结到目前为止的所有答案。

在运行 chrome 之前,请确保没有正在运行的 chrome 进程。

Windows

-allow-file-access-from-files

(带有一个破折号)

Linux

--allow-file-access-from-files

(带有两个破折号)

To summarize all answers so far.

Before running chrome, make sure there are no chrome processes running.

Windows

-allow-file-access-from-files

(with one dash)

Linux

--allow-file-access-from-files

(with two dashes)

意中人 2024-10-12 00:57:10

我找到了使用 JavaScript/Flash 方法解决该问题的方法。如果 flash 在 Local Only 安全沙箱中编译,则它具有对本地文件的完全访问权限。使用ExternalInterface,JavaScript可以请求Flash应用程序加载文件,并且Flash可以将结果传递回JavaScript。

您可以在这里找到我的实现:https://code.google.com/p/flash-loader /

I've found a way around the issue using a JavaScript/Flash approach. If flash is compiled in the Local Only security sandbox, it has full access to local files. Using ExternalInterface, JavaScript can request a Flash Application to load a file, and Flash can pass the result back to JavaScript.

You can find my implementation here: https://code.google.com/p/flash-loader/

苏璃陌 2024-10-12 00:57:10

让我醒悟的技巧是,您必须在 HTML 代码中提供文件的绝对路径,而不仅仅是文件名。例如 file://... 而不是直接名称,即使您正在访问同一目录中的文件。它会起作用的!

The trick that woked for me is that you have to give the absolute path of the file and not just file name in your HTML code. e.g file://... instead of direct name even though you are accessing the file in the same directory. It will work!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文