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
已经被冲走了。
- “Firefox做它..”
- “我们该怎么做?
- 一段时间过去了
- “这里是补丁”
- “通过!在主干上想知道下一个dev发布会发生什么”
- “啊,它坏了”“使用命令行选项”“好的”
- “我们发货!”
- “跆拳道家伙?你把我所有的东西都弄坏了,你为什么不早点告诉我们?
- 安静
关于你的问题
事实上,这似乎是一个特殊的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:// …而不是直接名称,即使您正在访问同一目录中的文件。 这将工作!