Ajax Google Chrome--允许从Chrome Beta 8禁用的文件访问文件

Ajax Google Chrome--允许从Chrome Beta 8禁用的文件访问文件,ajax,file,google-chrome,local,same-origin-policy,Ajax,File,Google Chrome,Local,Same Origin Policy,我一直在使用jQuery和Microsoft Seadragon技术开发AJAX应用程序。 我需要访问html5画布函数toDataURL 对于Google Chrome,同一来源规则适用于此函数,这意味着本地运行的页面(URL中包含文件://)无法满足同一来源规则,并引发异常 在Chrome 7中,使用--允许从文件访问文件选项启动应用程序,允许从本地文件调用canvas.toDataURL() 但是,使用相同的选项(--允许从文件访问文件)启动Chrome Beta 8似乎不允许对本地文件调

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

对于Google Chrome,同一来源规则适用于此函数,这意味着本地运行的页面(URL中包含
文件://
)无法满足同一来源规则,并引发异常

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

但是,使用相同的选项(
--允许从文件访问文件)启动Chrome Beta 8似乎不允许对本地文件调用canvas.toDataURL()

Chrome是放弃了“允许从文件访问文件”选项,还是因为它是Beta版而不是完全版而被禁用

谢谢

显示整个
——允许从文件访问文件
的事情都是匆忙进行的

  • “Firefox做到了……”
  • “我们怎么做?”
  • 一段时间过去了
  • “这是补丁”
  • “通过!在主干上想知道下一个开发版本会发生什么”
  • “啊,它坏了”“使用命令行选项”“确定”
  • “我们发货了!”
  • “WTF的人?你把我的东西都弄坏了!你为什么不早点告诉我们?”
  • 沉默
  • 继续解决您的问题
    实际上,这似乎是beta版的一个特殊功能,我在这里使用的是
    chrome8.0.552.5dev
    ,并且
    --允许从文件访问文件
    工作正常,我还使用
    chrome9.0.592.0(66889)
    测试了这一功能,如果它也正常工作的话


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

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

    总结目前为止的所有答案

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

    窗口

    -allow-file-access-from-files
    
    (带一个破折号)

    Linux

    --allow-file-access-from-files
    

    (用两个破折号)

    我找到了一种使用JavaScript/Flash方法解决这个问题的方法。如果flash是在仅本地安全沙盒中编译的,则它可以完全访问本地文件。使用ExternalInterface,JavaScript可以请求Flash应用程序加载文件,Flash可以将结果传递回JavaScript


    您可以在这里找到我的实现:

    我的窍门是,您必须在HTML代码中给出文件的绝对路径,而不仅仅是文件名。例如file://... 而不是直接名称,即使您正在访问同一目录中的文件。它会成功的

    哇,我什么都试过了,然后这就是为我解决问题的诀窍。我不喜欢这样。你能通过强制它在新窗口中生成来解决这个问题吗?这+关闭所有打开的窗口是它在windows上工作的唯一方式。在Chrome版本34.0.1847.116 m上,一个破折号就可以解决这个问题。在运行命令之前,我使用了“tskill chrome”来确保所有chrome窗口都已关闭。不确定chrome的哪个版本,但27给出了以下错误:“跨源请求仅支持HTTP”。如何执行
    ——允许从文件访问文件
    的操作?我真的不明白它是怎么工作的。@Aerovistae,A.打开Chrome快捷方式的属性,将其添加到目标:
    “..\Chrome.exe--允许从文件访问”
    (注意引号)| |;B.使用命令提示符,运行带有标签
    。\Chrome.exe的Chrome--允许从文件访问
    @Aerovistae,以及esacpe”(“和”使用
    ^(
    ^
    如果您使用的是CMD,您可以在此处找到有关解决查询的选项的详细信息。