Google Chrome – 针对Chrome Beta 8停用了文件访问权限function

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

使用谷歌浏览器,同样的起源规则适用于这个函数,这意味着在本地运行的页面(在URL中使用file:/// )不能满足相同的原始规则,并抛出exception。

使用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版本,而不是一个完整版本?

谢谢!

从这个问题来看,这表明整个--allow-file-access-from-files已经被冲走了。

  1. “Firefox做它..”
  2. “我们该怎么做?
  3. 一段时间过去了
  4. “这里是补丁”
  5. “通过!在主干上想知道下一个dev发布会发生什么”
  6. “啊,它坏了”“使用命令行选项”“好的”
  7. “我们发货!”
  8. “跆拳道家伙?你把我所有的东西都弄坏了,你为什么不早点告诉我们?
  9. 安静

关于你的问题
事实上,这似乎是一个特殊的testing版,我在这里使用的是Chrome 8.0.552.5 dev ,而且--allow-file-access-from-files可以像预期的那样工作,我也用Chromium 9.0.592.0 (66889)是否也按预期工作。

我怀疑开发部门有一些变化。 不幸的是,在铬的问题跟踪器上find一些东西几乎是不可能的。

在使用命令行参数打开之前是否closures了所有的chrome实例? 你必须这样做,使参数的工作。

总结迄今为止的所有答案。

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

视窗

 -allow-file-access-from-files 

(有一个破折号)

Linux的

 --allow-file-access-from-files 

(两个破折号)

我已经find了解决这个问题的方法,使用JavaScript / Flash方法。 如果Flash是在本地安全沙箱中编译的,则它具有对本地文件的完全访问权限。 使用ExternalInterface,JavaScript可以请求Flash应用程序加载文件,Flash可以将结果传递回JavaScript。

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

给我的启示就是你必须给出文件的绝对path,而不是HTML代码中的文件名。 例如file:// …而不是直接名称,即使您正在访问同一目录中的文件。 这将工作!