为什么要文档.GetElementsByClassName在本地驱动器上工作,但在网络驱动器上不起作用
Why does document.GetElementsByClassName work on local drive but not on a network drive?
(已经看到类似的问题,但这不是同一个问题)。
这是一个旨在在本地浏览器中运行的HTML页面(即双击文件资源管理器中的页面),不提供。
页面链接到一个简单的JS文件,其中包含几个函数。如果页面和脚本位于本地驱动器上,则按预期工作。但是当它们在网络驱动器上时,其中一个函数会异常失败'对象不支持属性或方法'getElementsByClassName'。函数是:
function DisplaySection(section)
{
var sections = document.getElementsByClassName("SECTION");
for (var i = 0; i < sections.length; i++)
{
sections[i].style.display = sections[i].id == section ? "block" : "none";
}
}
确认:JS函数在两个环境中都是可见的,并且正确连接到文档-我可以使用F12调试器进入失败的函数。
欢迎指教
这可能是因为IE中的兼容性视图(in),对于内部网资源,默认在上。因此IE进入兼容模式,其中没有getElementsByClassName
。
你可以试着让IE政策*改变,或者试着说服IE服从:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
(这个答案声称可以工作),或者您可以使用querySelectorAll
:
var sections = document.querySelectorAll(".SECTION");
querySelectorAll
早在IE8就存在了,而getElementsByClassName
直到IE9才加入。
*这里的"策略"是指您的组织的活动目录策略,它可以决定此IE设置。
或者,当然,使用一个默认情况下不会做蠢事的浏览器。
</rant>
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- jquery加载并在本地硬盘驱动器上工作
- google驱动器api-copyfile仅在具有访问驱动器中所有文件的权限的情况下工作(但jst需要复制)
- 为什么要文档.GetElementsByClassName在本地驱动器上工作,但在网络驱动器上不起作用