2010-11-10 15 views
1

在這裏有一個真正的益智遊戲。我正在使用Atalasoft DotImage來允許用戶向圖像添加一些註釋。當我添加兩個包含具有相同名稱的文本的相同類型的註釋時,我在Atalasoft的壓縮js中得到了javascript權限被拒絕的錯誤。該錯誤是訪問規則的樣式成員:當使用Atalasoft DotImage時,Javascript權限被拒絕錯誤

在調試器(Visual Studio 2010的.NET 4.0)我可以訪問 h._rule 但不 h._rule.style

在JavaScript會是什麼訪問對象的元素時會導致權限被拒絕?

只是想知道是否有其他人遇到過這種情況。我看到有幾個人在使用Atalasoft,我甚至看到有人用Atalasoft做出迴應。是的,我正在和他們交談,但把它扔給人羣並沒有什麼不好。這隻發生在IE8中,而不是FireFox。 謝謝,布賴恩

更新:是的,使用最新版本: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(text);

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

函數CreateAnnotation(type,name)SetAnnotationModified(true); WebAnnotationViewer1.DeselectAll(); var ann = WebAnnotationViewer1.CreateAnnotation(type,name); WebThumbnailViewer1.Update(); }

+0

樓。這聽起來很熟悉。你有什麼同名的意思?你使用的是最新版本嗎? – 2010-11-10 12:59:49

+0

我創建了默認註釋,它們被命名,以便稍後可以使用javascript添加它們。 – BrianK 2010-11-10 13:50:38

回答

1

早期版本中存在一個錯誤,允許使用相同的唯一標識保存註釋。除了TextAnnotations之外,這通常不會導致任何註釋問題,因爲它們使用唯一ID爲文本編輯器創建CSS類。 CSS不喜歡有兩個或更多的類由相同的名稱定義,這是導致「權限被拒絕」錯誤的原因。

您可以從註釋中刪除唯一的ID,而不會導致問題。我已經在下面提供了一些代碼片斷,以說明如何實現這一點。在加載註釋數據(在服務器端)後調用ResetUniques()應該使所有內容都順利運行。

-Dave C.從Atalasoft這裏從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); 
} 
+0

謝謝我也從Atalasoft支持那裏得到了這個,雖然沒有解釋創建css類。我仍然有一個問題 - 如果我沒有註釋開始,創建幾個文本註釋,然後旋轉,我再次得到保護錯誤。看來我的應用程序仍在使用非唯一ID創建。我正在安裝最新的修補程序。 – BrianK 2010-11-12 04:57:26

+0

Dave C - 現在,當頁面使用普通回發或使用asp.net ajax請求發佈時,我在服務器端獲取重複圖層和註釋。這發生在9.0.2.43666構建和9.0.2.43718構建。它之前沒有發生過構建。我已經在名爲Case00040495的ftp文件夾中以示例的形式提交給Atalasoft支持 – BrianK 2010-11-24 15:46:38