Kev*_*ton 0 javascript xml jquery internet-explorer
我刚刚继承了一个主导航菜单目前是Flash的项目.他们问我是否可以将其切换为javascript,所以我同意试一试.导航结构本身在服务器上动态生成,并通过ajax调用选择新节点.返回是所有XML.
为防止初始加载延迟,服务器将xml从当前页面的第一次调用发送到textarea.
Firefox和Chrome可以拉出那个xml并在jQuery中操作它就好了.然而,IE扼杀了.我知道如果没有设置MIME类型IE浏览器效果不好,但由于服务器基本上没有限制,我需要找到解决方法.
存储在textarea中的xml的示例如下:
<nav>
<item name='Link 1' url='http://www.somesite.com' img='/path/to/image.png' />
<item name='Link 2' url='http://www.somesite.com' img='/path/to/image.png' />
</nav>
我使用.val()方法抓取内容,该方法适用于IE以外的所有方法.我已经把头撞了一会儿.有帮助吗?
此问题已在此处解决
<script type="text/javascript">
$(parseXml($("#xml").val())).find('item').each(function(){
...
});
function parseXml(xml)
{
if (jQuery.browser.msie)
{
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(xml);
xml = xmlDoc;
}
return xml;
}
</script>
Run Code Online (Sandbox Code Playgroud)