0

このJavaScriptをAwesomium WebControlに実行しています

                  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);" +
                        }
                  }

このアラートを出すこのコード:

エラー: SECURITY_ERR: DOM 例外 18

現在、これは JavaScript のかなり一般的なコードです。適切なフラグを立てることができれば、オフにすることができると誰かが私に言いました。したがって、コードは次のようになります。

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

この「--allow-file-access-from-files」フラグは Chrome で機能します。これについて何か知っている人はいますか。そして、提案やコードサンプルは高く評価されます。

ありがとう

4

2 に答える 2

0

バージョン1.6.6を使用しています。このコードを使用してください:

        WebCoreConfig config = new WebCoreConfig();
        config.DisableSameOriginPolicy = true;
        WebCore.Initialize(config, true);
于 2013-03-24T20:02:51.467 に答える
0

これらの設定はWebSessionProviderに移動されました: http://answers.awesomium.com/questions/819/disablesameoriginpolicy.html

注: FileAccessFromFileURLおよびUniversalAccessFromFileURL

例:

<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>
于 2014-01-26T13:33:40.980 に答える