2014-05-20 35 views
0

我对Internet Explorer非常沮丧(谁不是)。Internet Explorer中的ACE代码编辑器问题

对于回地面,我使用与角JS串联ACE代码编辑器。

This tutorial

几乎正是我复制了我的指令,再减去这两条线。

var MarkdownMode = require('ace/mode/markdown').Mode; 
editor.getSession().setMode(new MarkdownMode()); 

相反,对于我使用“xml”的模式。

editor.getSession().setMode('ace/mode/xml'); 
editor.setReadOnly(true); 

在我的html中,我使用这样的指令。

<div class= "editor" data-ace="" data-ng-model="xml_string"></div> 

然后我从后端/我的控制器中像这样获取“xml_string”。

myApp.controller('resourceDisplayCtrl', function($scope, $http){ 

    $scope.xml_string = ""; 

    var route = "/get_resource_info/" + $scope.resource + '/'; 

    $http.get(route).success(function(data){ 
     $scope.xml_string = data['data']; 
    }); 
}); 

如果需要,我可以放下更多的代码,但我认为这会得到它的要点。我的问题是,我的代码按预期工作...在Firefox中。 xml_string从后端正确设置,并将xml文件加载到编辑器中。

但是,这永远不会奏效与IE浏览器的第一次尝试。有时,如果我发送IE刷新按钮,最终会加载xml文件,但对我来说这更加陌生。也许缓存问题?我试图删除缓存,但没有去。有任何想法吗?

编辑:我包括在

alert(data['data']); 

所以我知道XML字符串被正确地从后端发送。

+0

只是好奇......多少XML填充到'data-ng-model'属性中?这似乎是一个非常痛苦的方式来编码。 – scunliffe

+0

好一点,但不超过firefox可以处理?你有更好的方式来做这样的事情吗? – Zack

+0

如果editor.getSession().setValue(data)有效,那么尝试一下,如果是这样的话,它肯定是一个角度错误,你可以使用没有角包装的Ace。 –

回答

0

这是我的脚本标记的位置是错误的。获得的经验教训,如果你想要一个ACE指令正常工作,将你的ace标签放在你的角标签之前:)