2017-04-06 65 views
0

我创建了一些带有JavaScript代码的htm页面,并保存在Windows桌面上。在我确认提示运行脚本或Active X后,代码运行良好,但只要我将文件复制到网络位置(而不是服务器)并尝试打开文件,JavaScript就不会再运行(提示符上面提到的没有出现)。我没有与其他代码(包括JavaScript)的这个问题,我不知道什么问题 - 可能是围绕网络安全设置?仅当文件保存在某个位置时才会运行JavaScript代码

具体而言,下面的代码片段似乎是导致该问题:

<div class="dropdown"> 
<button onclick="myFunction()" class="dropbtn">Dropdown</button> 
    <div id="myDropdown" class="dropdown-content"> 
    </div> 
</div> 

function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
} 

.show {display:block;} 

的按钮显示,但是下拉菜单没有显示出来,当文件被保存在网络驱动器上。所以myfunction()函数显然不起作用。

+0

你如何打开该文件?您是否看到Chrome开发人员工具控制台中的任何错误显然? –

+0

它在Chrome上运行,即使在网络保存的文件上,但不在IE11上。因此它不能是一个压倒一切的安全策略,它必须是特定于JavaScript功能的IE特定问题(其他脚本运行没有问题) – Joerg

+0

IE是否在开发者控制台中报告任何错误? –

回答

0

如果您想在您的HTML中使用JavaScript和CSS,而不是将其包含为.js和.css,那么您应该让浏览器知道它处理的是哪种代码。

<style> 
.show { 
    display: block; 
} 
</style> 

<div class="dropdown"> 
    <button onclick="myFunction()" class="dropbtn">Dropdown</button> 
<div id="myDropdown" class="dropdown-content"></div> 
</div> 

<script> 
    function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
    } 
</script> 

所以,如果你想使用JavaScript您.html文件里面,总是
<script> /* Your JavaScript */ </script>标签之间的包裹。

对于CSS,使用<style> /* Your CSS */ </style>标记。

+0

当然,我已经这样做了,当然,这似乎不是问题所在。 – Joerg

相关问题