使用Atalasoft DotImage时,Javascript权限被拒绝错误

时间:2010-11-10 02:25:31

标签: asp.net dotimage

这里有一个真正的益智游戏。我正在使用Atalasoft DotImage来允许用户为图像添加一些注释。当我添加两个包含具有相同名称的文本的相同类型的注释时,我在Atalasoft的压缩js中得到javascript权限被拒绝错误。错误是访问规则的样式成员:

在调试器(Visual Studio 2010 .Net 4.0)中,我可以访问    h._rule 但不是    h._rule.style

在访问对象的元素时,javascript中的内容会导致权限被拒绝吗?

只是想知道是否有其他人遇到过此事。我看到有几个人在使用Atalasoft,我甚至看到了Atalasoft的回复。是的,我正在与他们交谈,但是把它扔给人群永远不会伤害。这只发生在IE8中,而不是FireFox。 谢谢,Brian

更新:是的,使用最新版本:9.0.2.43666

使用相同的名称(请参阅下面的评论)我的意思是,我创建了默认注释,并将它们命名为以后可以使用javascript添加它们。

//创建默认注释 TextData text = new TextData(); text.Name =“DefaultTextAnnotation”; text.Text =“默认文本注释:\ n双击编辑”; //text.Font = new AnnotationFont(“Arial”,12f); text.Font = new AnnotationFont(_strAnnotationFontName,_fltAnnotationFontSize); text.Font.Bold = true; text.FontBrush = new AnnotationBrush(Color.Black); text.Fill = new AnnotationBrush(Color.Ivory); text.Outline = new AnnotationPen(new AnnotationBrush(Color.White),2); WebAnnotationViewer1.Annotations.DefaultAnnotations.Add(文本);

在javascript中: CreateAnnotation('TextData','DefaultTextAnnotation');

function CreateAnnotation(type,name){     SetAnnotationModified(真);     WebAnnotationViewer1.DeselectAll();     var ann = WebAnnotationViewer1.CreateAnnotation(type,name);     WebThumbnailViewer1.Update(); }

1 个答案:

答案 0 :(得分:1)

早期版本中存在一个错误,允许使用相同的唯一ID保存注释。这通常不会导致除TextAnnotations之外的任何注释出现问题,因为它们使用唯一ID为文本编辑器创建CSS类。 CSS不喜欢有两个或多个由同一名称定义的类,这就是导致“Permission denied”错误的原因。

您可以从注释中删除唯一ID,而不会导致问题。我在下面提供了一些代码片段,演示了如何做到这一点。加载注释数据后(在服务器端)调用ResetUniques()应该可以使一切运行顺利。

-Dave C.来自Atalasoft

protected void ResetUniques()
{
    foreach (LayerAnnotation layerAnn in WebAnnotationViewer1.Annotations.Layers)
    {
        ResetLayer(layerAnn.Data as LayerData);
    }
}

protected void ResetLayer(LayerData layer)
{
    ResetUniqueID(layer);
    foreach (AnnotationData data in layer.Items)
    {
        LayerData group = data as LayerData;
        if (group != null)
        {
            ResetLayer(data as LayerData);
        }
        else
        {
            ResetUniqueID(data);
        }
    }
}

protected void ResetUniqueID(AnnotationData data)
{
    data.SetExtraProperty("_atalaUniqueIndex", null);
}