2013-03-24 61 views
0

我执行这个JavaScript到Awesomium的WebControlAwesomium JavaScript错误:SECURITY_ERR:DOM异常18

    function getImage(img) { 
         var canvas = document.createElement(\"canvas\"); 
         canvas.width = img.width; 
         canvas.height = img.height; 
         var ctx = canvas.getContext(\"2d\"); 
         ctx.drawImage(img, 0,0); 
         try{ 
           var imgData=ctx.getImageData(10,10,50,50); 
           alert(imgData); 
         }catch(err){" + 
           alert(err);" + 
         } 
        } 

下面这段代码给这个警报:

Error: SECURITY_ERR: DOM Exception 18

现在,这是JavaScript的一个相当普遍的代码。有人告诉我,如果我可以设置正确的标志,那么它可以被关闭。因此,代码应该是这样的:

WebCore.Initialize(new WebConfig { AdditionalOptions = new[] { "--allow-file-access-from-files" } }); 

这种“--allow-文件访问从档案”标志适用于Chrome浏览器。 现在有谁知道这件事。建议或代码示例将受到高度赞赏。

感谢

回答

0

我使用的版本1.6.6。使用此代码:

 WebCoreConfig config = new WebCoreConfig(); 
     config.DisableSameOriginPolicy = true; 
     WebCore.Initialize(config, true); 
0

它看起来像这些这些设置已经移到WebSessionProviderhttp://answers.awesomium.com/questions/819/disablesameoriginpolicy.html

注:FileAccessFromFileURLUniversalAccessFromFileURL

例子:

<Window.Resources> 
    <controls:WebSessionProvider x:Key="mySession" DataPath=".\Cache"> 
     <core:WebPreferences 
      FileAccessFromFileURL="True" 
      UniversalAccessFromFileURL="True" 
      SmoothScrolling="True" 
      DefaultEncoding="iso-8859-7" /> 
    </controls:WebSessionProvider> 
</Window.Resources> 

<awe:WebControl Name="webControl" 
        WebSession="{Binding Source={StaticResource mySession}}" 
        Source="file:///k:/something/index.html" 
        DocumentReady="webControl_DocumentReady" 
        ></awe:WebControl>