gpt4 book ai didi

jquery - jsTree 在 IE8 上卡在 "loading"

转载 作者:行者123 更新时间:2023-12-01 01:38:33 25 4
gpt4 key购买 nike

我在两个不同的页面中有树,两个页面都有很多其他的功能也。它们在 Firefox 中都运行良好,但 IE8 会卡住在“正在加载..”上,没有明显的错误消息(我没有任何为 IE8 安装了 devtools,因为我不知道)。

我在网上查了一下,发现我应该声明一个文档类型,它我做到了,但没有帮助。我还尝试将页面剥离到bare Essentials+jstree,但是树还是不行。

这是代码。我去掉了一些我认为不是的部分必要的(尽管考虑到这个问题,它们可能是必要的)。

我想我在 jstree 主页的某个地方看到了一些内容变量名和 IE 不兼容 - 比如“use id而不是名字”?我的问题可能是因为类似的事情吗?我也明白一些 IE 问题是因为 IE 的奇怪方式处理版本(或者其他什么,我不太明白)。什么这是否意味着,这可能是我的问题的根源吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/
TR/xhtml11/DTD/xhtml11.dtd">

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
-SNIP-
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/
jqueryui/1.8.3/themes/base/jquery-ui.css" type="text/css" />
<script src="<%= hostUrl %>/js/jquery-1.4.2.js" type="text/
javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/
jquery-ui.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/
jquery.bgiframe-2.1.1.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/i18n/
jquery-ui-i18n.min.js" type="text/javascript"></script>
<script src="<%= hostUrl %>/js/jsTree/jquery.jstree.js" type="text/
javascript"></script>
<link rel="stylesheet" type="text/css" href="/WebUI2/js/jsTree/themes/
css/style.css" />
<script type="text/javascript" src="/WebUI2/js/jsTree/themes/js/
jquery-ui-1.8.13.custom.min.js"></script>
-SNIP-
<script>


$(function () {

$("#tree")

.jstree({
"json_data" : {
"ajax" : {
"url" : "getAreaTree?treeType=Areas&ownerPhone=<
%=webSessionObject.getUserPhoneNum()%>",
"data" : function (n) {
return { id : n.attr ? n.attr("id") : 0 };
}
}
},

types : {
types : {

"folder" : {

},
"file" : {
"valid_children" : "none"
}
}
},

checkbox : {
"real_checkboxes" : "true",
"override_ui" : "true",
"real_checkboxes_names" : function(n){
console.log("Aasd");
return[("area"+n[0].id),n[0].id];
}
},

themes : {
theme : "apple"
},

"plugins" : ["json_data", "ui", "checkbox", "types", "themes" ]
});




});
</script>

<div class="box_start">
<div class="box_content">
<h1><fmt:message key="owner.text.areas" /></h1>
<div id="tree"style="overflow:auto border:none"></div>
<br />
</div>
<div class="box_end"></div>
</div>

此复制粘贴适用于另一个论坛,此后我做了一些更改。我已将 jQuery 更新到最新版本 (1.6.2),并且删除了一些自关闭标签(链接、输入、中断)。

这是我的 JSON 的片段(它不是整个 JSON,因此括号中可能有错误)。更新版本使用“idx”而不仅仅是“x”,x 是一个数字。

[{ "data" : "Areas", "attr" : { "id" : "1", "rel" : "folder" }, "state" : "open",
"children" : [{ "data" : "[Testi]", "attr" : { "id" : "261", "rel" : "folder" },
"state" : "closed",
"children" : [ ] } , { "data" : "TESTI", "attr" : { "id" : "11", "rel" : "folder" },
"state" : "closed",
"children" : [{ "data" : "[ Kansio ]", "attr" : { "id" : "271", "rel" : "folder" },
"state" : "closed",
"children" : [ ] } , { "data" : "[ folder ]", "attr" : { "id" : "281", "rel" :
"folder" }, "state" : "closed",
"children" : [ ] } ] }]
PS。抱歉,格式很差,仍然无法完全处理 ^^;;

最佳答案

嗯,是的,我找到了答案。 IE8 挂起是因为树太大。我从 json 中删除了大约一半的条目,并且树加载得很好。

如果我找到解决这个问题的方法,我会报告。

编辑:我更新了 OpenLayers(另一个开源插件,这个用于绘制 map )并且 jsTree 开始工作。我以为我使用的是最新版本的 OpenLayers,但几天前我们的 svn 出现了问题,所以我想我毕竟没有使用绝对最新的版本。

至此,这个问题就得到了解答。我会在一两天内删除,因为我怀疑这对任何人都有帮助(“如果你使用 jstree 和旧版本的 OpenLayers,IE8 可能会挂起”..?对)。如果问题确实再次出现,我宁愿开始一个新问题,也不愿在这里继续。

关于jquery - jsTree 在 IE8 上卡在 "loading",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com