2013-03-24 45 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> 
相關問題