问个兼容性问题。。。。

King0113 2012-07-12 11:19:10

<script type="text/javascript" >
function init() {
try {
var myObject = window.dialogArguments;
var odVlaue = myObject.OldValue; //已选值
var allowseltype = myObject.selectType; //选择类型
if (allowseltype == "0") {
document.getElementById("lbchoseall").innerText = "全选/全不选";
document.getElementById("promptmessage").style.display = "inline";
document.getElementById("SelectConfig").style.display = "inline";
document.getElementById("SelectConfig").value = "1"; }
else if (allowseltype == "1") {
document.getElementById("lbchoseall").innerText = "全不选";
}
var strRoleDepts = myObject.roleDepts;
if (typeof (strRoleDepts) == "undefined" || strRoleDepts == null || strRoleDepts == "") {
strRoleDepts = "";
}
if (odVlaue == null || typeof (odVlaue) == "undefined") {
odVlaue = "";
}

TreeView.SetParameter(strRoleDepts, "", allowseltype, "");
TreeView.InitTree(odVlaue);
TreeView.SetValue(odVlaue);
}
catch (e) {
alert(e.Message.toString());
}
}

TreeView是一个js文件。 TreeView.js

TreeView.SetParameter(strRoleDepts, "", allowseltype, "");

这句在IE8下没问题。在火狐和谷歌浏览器中TreeView 就是未定义对象了。

请问怎么在火狐和谷歌浏览器中获取到TreeView这个控件?
...全文
156 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
使用火狐的Firebug或者错误控制台,看是否出现了脚本错误。
另外,TreeView的定义是否正确。
另外,你可以清空缓存再测试
[/Quote]

我是用Firebug 来测试火狐的。
TreeView这里报错 ReferenceError: TreeView is not defined

这里该怎么修改?IE8下是正常的。
孟子E章 2012-07-12
  • 打赏
  • 举报
回复
使用火狐的Firebug或者错误控制台,看是否出现了脚本错误。
另外,TreeView的定义是否正确。
另外,你可以清空缓存再测试
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
检查一下你的js文件中的TreeView.SetParameter 这个方法怎么写的,看要修改哪里
[/Quote]

应该不是方法的问题。是TreeView这个对象获取不到。。。
wyumening 2012-07-12
  • 打赏
  • 举报
回复
检查一下你的js文件中的TreeView.SetParameter 这个方法怎么写的,看要修改哪里
King0113 2012-07-12
  • 打赏
  • 举报
回复
人工置顶。。。。
King0113 2012-07-12
  • 打赏
  • 举报
回复
人工置顶。。。
King0113 2012-07-12
  • 打赏
  • 举报
回复
但我有个想不明白的地方。。。为啥IE8下没这些问题的呢?难道这就是兼容性问题?
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
那就是你的TreeView.js文件的问题了
具体是不是文件的问题,你可以这样测试啊
function init()改成
function init()
{
alert(TreeView)
}

如果弹出来是Object就是没问题的,否则,是你的文件本身就有问题

你要学会调试!!!
[/Quote]

用你说的方法调试了。alert都跳不出来,肯定是TreeView的问题了。估计是那个js文件里有问题。。。
关键是,我是刚接手别人的东西。很郁闷的
孟子E章 2012-07-12
  • 打赏
  • 举报
回复
那就是你的TreeView.js文件的问题了
具体是不是文件的问题,你可以这样测试啊
function init()改成
function init()
{
alert(TreeView)
}

如果弹出来是Object就是没问题的,否则,是你的文件本身就有问题

你要学会调试!!!
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用就是在aspx里面,注意是aspx扩展名下面的代码才可以

<script src='<%=Page.ResolveUrl("~")%>TreeView.js'></script>


TreeView.js放在你应用程序的跟目录下,注意是应用程序
[/Quote]

vs2010 直接拖出来的
<script src="js/TreeView.js" type="text/javascript"></script>
就是这个路径。。。

也试过。。。还是一样的问题
孟子E章 2012-07-12
  • 打赏
  • 举报
回复
引用就是在aspx里面,注意是aspx扩展名下面的代码才可以

<script src='<%=Page.ResolveUrl("~")%>TreeView.js'></script>


TreeView.js放在你应用程序的跟目录下,注意是应用程序
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
TreeView is not defined

说明你的TreeView的定义有问题,或者js语法错误,或者引用路径有问题,或者缓存导致加载的老代码
[/Quote]

请问该怎么引用呢?对前台不是很懂。。。
King0113 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
你添加TreeView.js文件要在其他js文件之前吧。ff没有找到TreeView的定义
[/Quote]

<body onload="init();">
页面加载的时候就跑这个函数了。

风一样的大叔 2012-07-12
  • 打赏
  • 举报
回复
你添加TreeView.js文件要在其他js文件之前吧。ff没有找到TreeView的定义
孟子E章 2012-07-12
  • 打赏
  • 举报
回复
TreeView is not defined

说明你的TreeView的定义有问题,或者js语法错误,或者引用路径有问题,或者缓存导致加载的老代码

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧